【问题标题】:Grails - Spring Security - Many dynamic rolesGrails - Spring Security - 许多动态角色
【发布时间】:2017-05-18 15:45:06
【问题描述】:

我正在使用 Grails 和 Spring Security 开发一个应用程序。

我的愿望是,当用户创建通知其公司名称的帐户时,应用程序会在公司、角色和用户表中创建一个条目,并将该角色和用户与公司条目相关联。

创建的角色就像管理员一样,有权做所有事情。具有该角色的用户可以创建指定权限的新角色,但创建的所有角色都应仅在公司范围内,因此其他公司的用户不应使用这些角色。

我已经看到 Spring Security 有一个称为 Requestmap 的功能,对于每个 URL,应用程序都可以指定可以访问的角色。

我不知道这是否是最好的解决方案,因为在我的应用中,角色的数量将至少与用户数量一样多。

你们对如何解决这个问题有什么建议吗?

谢谢大家。

【问题讨论】:

    标签: spring grails spring-security


    【解决方案1】:

    你应该看看Spring Security ACL plugin

    使用此插件,您将能够为某些域模型上的某些用户添加权限(如写入或读取权限)。

    查看文档中的示例:

    @Transactional
    @PreAuthorize("hasPermission(#report, write) or " +
                 "hasPermission(#report, admin)")
    Report updateReport(Report report, params) {
       report.properties = params
       report.save()
       report
    }
    

    通过使用PreAuthorize 注释,检查用户是否对该特定Report 实体具有写入(或管理员)权限。

    【讨论】:

      猜你喜欢
      • 2011-07-14
      • 2013-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-02
      • 2018-06-02
      • 2011-11-21
      • 2019-12-18
      相关资源
      最近更新 更多