我正在实施基于Web的文档管理系统,并且想在我的系统中实施ACL。
我的正式要求是分层权限(文档从其文件夹继承权限)用户组(用户可以动态创建组并将用户与组关联)。这样的组可以对系统中的对象具有权限。
我的代码将在两种情况下查询对象的权限:
1.处理单个文档
2.列出所有可能进行操作的文档
后者的要求似乎是Spring Security ACL的致命弱点(对于我管理的每个文档,他们的方法似乎可能会导致多个数据库命中)
有人知道另一个ACL实现吗?
谢谢!
最佳答案
我不熟悉Spring Security的ACL,但是我相信典型的ACL是否要求您点击每个节点以发现给定的主体是否对该节点具有权限。我不知道您是否要找到解决该问题的方法,而不必在每次显示的每个节点上都进行canRead()或canAccess()调用(或类似的操作)。
作为旁白:
您是否评估过使用JSR-170兼容的东西(Java Content Repository或“ JCR”)而不是使用自己的完整文档管理系统实现?潜在地,您可以将JCR中的内容用于后端,并在其顶部简单地编写一个Web界面。 Jackrabbit具有一个足以满足要求的默认ACL实现。
关于java - Java中良好的ACL实现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2843648/