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