【发布时间】:2012-10-26 11:07:06
【问题描述】:
我正在开发一个内容管理类型的 web 应用程序,它使用 spring security(版本 3.0.5)进行身份验证和标准 RBAC 来粗略地定义用户组。
该应用程序的一个功能是允许具有特定角色的用户(例如管理员)配置个人用户(或个人用户组)访问特定内容项目的权限,并控制他们的操作可以对该内容执行(例如,读/写/删除,还可以导出、打印、共享、授予权限等)。这些管理员用户也将定义封装常用权限集的角色。所以看来我需要访问控制列表。
但是阅读 Spring ACL 文档,我有点不清楚最终用户在运行时对角色/用户的这种动态定义是否受支持;在我看来,Spring ACL 的主要“开箱即用”用例使用在应用程序本身中声明的静态定义。
如果可能的话,我想使用 Spring ACL - 看起来最有吸引力的好处是 a) 高性能的位掩码操作,b) 在我们的业务代码之外的包装代理中保持权限查找,c) 标准技术;但是如果为了适应我们的用例需要重新实现大多数 Spring 安全接口,那么我们可能会自己动手。
所以我想问一下是否有人在这种用例中成功使用过 Spring ACL?当角色和权限被用户更改时,是否建议或不鼓励在运行时以编程方式动态修改 Spring ACL 表?
谢谢
理查德
【问题讨论】:
标签: java spring-security acl