我正在实现一个基于web的文档管理系统,我想在我的系统中实现ACL。我的正式需求是分层权限(文档从其文件夹继承权限)、用户组(用户可以动态创建组并将用户与组关联)。此类组可以对系统中的对象具有权限。
我的代码将在两种情况下查询对象的权限: 1.操作单个文档2.列出所有可以进行操作的文档
后一种需求似乎是Spring Security ACL的致命弱点(它们的方法似乎可能会在我管理的每个文档中引发多个DB访问)
有人知道另一种ACL实现方式吗?
谢谢!
发布于 2010-05-16 20:41:01
我不熟悉Spring Security的ACL,但我相信典型的ACL是否要求您点击每个节点,以发现给定的主体是否具有该节点上的权限。我不知道您是否能找到一种方法来解决这个问题,而不是每次都在呈现的每个节点上进行canRead()或canAccess()调用(或类似的调用)。
顺便说一句:您是否使用JSR-170兼容的东西(Java Content Repository或'JCR')进行了评估,而不是使用自己的完整文档管理系统实现?潜在地,您可以使用JCR中的东西作为后端,并在其上简单地编写一个web界面。杰克兔有一个默认的ACL实现,应该足够了。
https://stackoverflow.com/questions/2843648
复制相似问题