我正在开发一个内容管理类型的网络应用程序,它使用spring security(版本3.0.5)进行身份验证,使用标准RBAC来粗略定义用户组。
该应用程序的一个功能是允许具有特定角色的用户(例如,管理员)配置各个用户(或个人用户组)的权限以访问特定内容项,并控制他们的操作可以对该内容执行(例如,读/写/删除,还可以导出,打印,共享,授予权限等)。此外,这些管理员用户将定义封装常用权限集的角色。所以我似乎需要访问控制列表。
但是阅读Spring ACL文档,如果支持最终用户在运行时对角色/用户的这种动态定义,我有点不清楚;在我看来,弹出ACL的主要“开箱即用”用例使用在应用程序本身中声明的静态定义。
我想尽可能使用Spring ACL - 看起来最有吸引力的好处是a)高性能比特掩码操作,b)在我们的业务代码之外保留权限查找包装代理,c)标准技术;但是,如果要适应我们的用例需要重新实现大多数Spring安全接口,那么我们可能只是自己动手。
所以我想问一下是否有人在这种用例中成功使用过Spring ACL?是否建议或不建议在运行时以编程方式动态修改Spring ACL表,因为用户会更改角色和权限?
由于
理查德
答案 0 :(得分:0)
使用它: -
<intercept-url pattern="/admin*" **access="hasRole('SYS_ADMIN')"** />