我希望了解企业搜索解决方案如何解决用户权限问题。
我的问题是显示用户的搜索结果。天真的方法会向用户显示搜索结果,然后如果用户点击他无权查看的文档,他将无法打开它。但是,如果用户没有阅读权限,甚至禁止显示文档的标题或摘录。各种企业earch引擎也是如此:
选项#2对我来说更有意义,但似乎比选项#1慢得多。
选项#1需要不断更新索引文档的权限更改。
我希望了解当今市场上现有解决方案的常用方法。还有第三种选择吗?
答案 0 :(得分:1)
我很惊讶地看到这个5岁的问题没有得到任何答案,因为我认为这是企业搜索中一个非常常见和重要的问题。
如问题所述,处理文档级安全性有两种常用方法:
从不建议仅在内容方面处理安全性,因为此时机密信息可能已经泄露(例如搜索结果中的文档标题或预览)。
使用后期绑定方法实现安全性的优势在于,它非常灵活,因为无需在更改的ACL上重新索引内容。然而,最大的缺点是,通过这样做,机密信息可能会通过方面值泄露,并且无法检索和显示正确的方面计数。正确填充结果列表和处理分页也更加困难。最后但同样重要的是,这种方法可能会显着降低性能。
使用早期绑定方法实现安全性的优势在于,它在ACL更改后立即重新索引内容的价格解决了上述所有缺点。但是,泄漏仍然是可能的,例如当组成员身份或ACL刚刚更改并且尚未在搜索索引中反映时。要解决这个差距,通常会合并两种方法早期绑定和后期绑定。
最后但并非最不重要的可能是第三种选择,具体取决于您使用的企业搜索平台: Attivio的Active Security 基于查询时间加入,允许独立于文档本身索引安全信息,但在查询时合并这两个文档,以确保只有授权内容才能将其作为搜索结果。