如果用户正在搜索 sitecore存储桶,并且他们对存储桶中的所有项目没有读取权限,则搜索时会出现问题。< / p>
示例:
假设存储桶搜索中返回了1000个项目,并且用户只能读取其中的100个项目。最终发生的事情仍然是“你的搜索已经返回1000件物品”。更糟糕的是,他们没有读取权限的所有项目仍然显示在列表中但是空白。
这会产生一种错觉,即没有返回任何结果。实际上,当用户无法访问给定某个页面索引/大小的任何项目时。
之前有没有人遇到过这个问题?我猜测Sitecore正在对项目进行搜索后处理,导致项目在搜索中找到,但不会显示。
我的想法:
我正在考虑的一个可能的解决方案是使用正确的Sitecore管道并调整Lucene HitCollector以验证用户安全性。如果我能找到正确的管道,这将解决问题,但我想知道是否有更好的方法?
我更愿意编写更具体的Sitecore存储桶代码。例如添加lucene查询术语的代码(搜索自定义角色字段或类似内容),然后根据当前用户的角色将其自动添加到搜索中。