【发布时间】:2009-05-05 07:27:50
【问题描述】:
首先介绍一下我的问题的背景。
- 单个实体可以拥有读取权限。
- 如果用户未能通过读取权限检查,他们将看不到该实例。
该问题涉及引入 Lucene 并执行搜索,该搜索仅返回匹配实体实例的列表。然后,我的代码将需要一一过滤实体。这种方法效率极低,因为存在这样的情况:用户可能只能看到一小部分,而检查许多以返回少数并不理想。
开发人员将使用什么方法或如何解决此问题 - 请记住,索引和搜索是使用 Lucene 执行的?
编辑
定义
- 一个用户可能属于多个组。
- 一个角色可能有很多组 - 这些可以更改。
- 权限具有角色 -(间接)。
- X 可以拥有读取权限。
- 角色的定义可以随时更改。
索引
- 在索引时添加组集(扩展权限)可能会导致角色的成员组列表更改时定义变得不同步。
- 我希望避免在权限/角色的定义发生更改时重新索引 X。
安全检查
- 要通过权限检查,用户必须属于一组组中的组,该组属于给定权限的角色。
【问题讨论】: