相关疑难解决方法(0)

安全(又名权限)和Lucene - 如何?它应该完成吗?

首先是我的问题的一些背景.

  • 个别实体可以阅读权限.
  • 如果用户未通过读取权限检查,则无法看到该实例.

问题涉及引入Lucene并执行仅返回匹配实体实例列表的搜索.然后我的代码需要逐个过滤实体.这种方法非常低效,因为存在这样的情况:用户可能只能看到少数人并且检查许多人返回少数不太理想.

开发人员如何解决这个问题的方法或方法 - 请记住使用Lucene执行索引和搜索?

编辑

定义

  • 用户可能属于许多组.
  • 角色可能有很多组 - 这些组可能会发生变化.
  • 权限具有角色 - (间接).
  • X可以具有读取权限.
  • 角色的定义可以随时更改.

索引

  • 在索引时添加组(扩展Permmission)可能会导致定义在角色的成员组列表更改时变得不同步.
  • 我希望每当权限/角色的定义发生变化时,都要避免重新索引X.

安全检查

  • 要传递权限检查,用户必须属于属于给定权限的角色的组集内的组.

security lucene

19
推荐指数
1
解决办法
5058
查看次数

当用户没有对所有项目的读取访问权限时,Sitecore项目存储桶

如果用户正在搜索sitecore存储桶,并且他们对存储桶中的所有项目没有读取权限,则在搜索时会出现问题.

例:

假设存储桶搜索中返回了1000个项目,并且用户只能读取其中的100个项目.最终发生的事情仍然是"你的搜索已经返回1000件物品".更糟糕的是,他们没有读取权限的所有项目仍然显示在列表中但是空白.

这造成了没有返回结果的错觉.实际上,当用户无法访问给定某个页面索引/大小的任何项目时.

有没有人以前遇到过这个问题?我猜测Sitecore正在对项目进行搜索后处理,导致在搜索中找到项目,但不显示.

我的想法:

我正在考虑的一个可能的解决方案是使用正确的Sitecore管道并调整Lucene HitCollector以验证用户安全性.如果我能找到正确的管道,这将解决问题,但我想知道是否有更好的方法?

我更愿意编写更具体的Sitecore存储桶代码.例如添加lucene查询术语的代码(搜索自定义角色字段或类似的东西),然后根据当前用户的角色将其自动添加到搜索中.

sitecore sitecore7

5
推荐指数
0
解决办法
462
查看次数

标签 统计

lucene ×1

security ×1

sitecore ×1

sitecore7 ×1