Java 使用spring specurity动态创建角色

Java 使用spring specurity动态创建角色,java,spring-security,acl,Java,Spring Security,Acl,我正在开发一个内容管理类型的web应用程序,它使用spring security(3.0.5版)进行身份验证,并使用标准RBAC粗略定义用户组 该应用程序的一个功能是允许具有特定角色(如管理员)的用户配置个人用户(或个人用户组)访问特定内容项的权限,并控制他们可以对该内容执行的操作(例如,读/写/删除,还包括导出、打印、共享、授予权限等)。此外,这些管理员用户将定义封装常用权限集的角色。因此,我似乎需要访问控制列表 但是阅读SpringACL文档,我有点不清楚最终用户在运行时是否支持这种角色/用

我正在开发一个内容管理类型的web应用程序,它使用spring security(3.0.5版)进行身份验证,并使用标准RBAC粗略定义用户组

该应用程序的一个功能是允许具有特定角色(如管理员)的用户配置个人用户(或个人用户组)访问特定内容项的权限,并控制他们可以对该内容执行的操作(例如,读/写/删除,还包括导出、打印、共享、授予权限等)。此外,这些管理员用户将定义封装常用权限集的角色。因此,我似乎需要访问控制列表

但是阅读SpringACL文档,我有点不清楚最终用户在运行时是否支持这种角色/用户的动态定义;在我看来,SpringACL的主要“开箱即用”用例使用应用程序本身声明的静态定义

如果可能的话,我想使用SpringACL——看起来最吸引人的好处是a)性能位屏蔽操作,b)在业务代码之外包装代理时保持权限查找,c)标准技术;但是,如果为了适应我们的用例需要重新实现大多数Spring安全接口,那么我们可能只需要推出我们自己的

所以我想问一下,是否有人在这种用例中成功地使用了SpringACL?当用户更改角色和权限时,建议还是不建议在运行时以编程方式动态修改Spring ACL表

谢谢

Richard使用以下命令:

<intercept-url pattern="/admin*" **access="hasRole('SYS_ADMIN')"** />

是的,这将启用一般角色,但不会启用特定于资源的细粒度访问。我遇到了一个教程,它很好地解释了如何更新ACL表,这回答了我的第二个问题