【问题标题】:dynamic creation of roles with spring specurity使用spring specurity动态创建角色
【发布时间】: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


    【解决方案1】:

    使用这个:-

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

    【讨论】:

    • 是的,这将启用一般角色,但不会启用特定于资源的细粒度访问。我遇到了一个教程here,很好地解释了如何更新 ACL 表,它回答了我的第二个问题
    猜你喜欢
    • 2011-07-14
    • 1970-01-01
    • 2012-01-09
    • 2016-01-05
    • 2018-06-02
    • 2012-09-06
    • 2021-08-03
    • 2017-04-24
    • 1970-01-01
    相关资源
    最近更新 更多