【问题标题】:Person and Group with authority on Spring security具有 Spring 安全权限的人员和组
【发布时间】:2014-12-01 23:31:43
【问题描述】:

我正在使用 grails 2.3.4 和 spring-security-core:2.0-RC4,作为必要条件,我需要在不添加组的情况下拥有权限组和用户特定权限...

在文档上:

请注意,使用组时,“person”和“authority”之间不应存在连接类,因为“group”位于两者之间。

真的没有办法吗?如果我有这个要求,我应该选择其他替代方案而不是 spring sec 吗?也许手动做? shiro 能解决我的问题吗?

edit: config 中的 useRoleGroups 显然是使其仅按组获取权限的设置。

感谢任何帮助。

【问题讨论】:

    标签: spring grails spring-security


    【解决方案1】:

    我实现了 GormUserDetailsS​​ervice 并修改了 loadAuthorities 方法:

            if (useGroups) {
            if (authorityGroupPropertyName) {
                authorities = userAuthorities.collect { it."$authorityGroupPropertyName" }.flatten().unique().collect { new SimpleGrantedAuthority(it."$authorityPropertyName") }
            }
            else {
                log.warn "Attempted to use group authorities, but the authority name field for the group class has not been defined."
            }
        }
            LinkedHashSet<Role> ua = UserRole.findAllByUsuario(user).collect { it.role }
    
        if(!ua.empty) {
            ua.flatten().unique().collect { new SimpleGrantedAuthority(it.authority) }.each { authorities.add(it) }
        }
    

    【讨论】:

      猜你喜欢
      • 2012-09-29
      • 2012-06-07
      • 1970-01-01
      • 2015-10-28
      • 1970-01-01
      • 2017-05-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多