Spring安全性@secure无法使用Grails中的角色层次结构

时间:2014-09-19 04:33:51

标签: grails spring-security

我的Grails是2.2.1 Java 1.7 Spring-security-core 1.2.7.3 Spring-security-ui 0.2

Spring security @secure not working with role hierarchy中的问题类似,安全层次结构未受到尊重。

我有三个用户角色ROLE_ADMIN,ROLE_USER,ROLE_USER_NOT_CONFIRMED

基于Spring文档http://grails-plugins.github.io/grails-spring-security-core/guide/hierarchicalRoles.html

我在Config.groovy中添加了以下代码:

grails.plugin.springsecurity.roleHierarchy = '''
    ROLE_ADMIN > ROLE_USER
'''

并基于Grails: SpringSecurity roleHierarchy not working as expected我尝试过:

grails.plugin.springsecurity.roleHierarchy = '''
    ROLE_ADMIN > ROLE_USER
    ROLE_USER > ROLE_USER_NOT_CONFIRMED
'''

我不是在grails中添加DefaultMethodSecurityExpressionHandler或者是否需要它的语法。

在Controller方法中我以@Secured(['ROLE_USER']为前缀),当我以ROLE_ADMIN身份登录时,它会抛出权限错误。

1 个答案:

答案 0 :(得分:1)

我认为这个配置适用于新版本的插件(版本2.0)。您是否可以尝试使用此代码修改配置(插件后' ):

grails.plugins.springsecurity.roleHierarchy = '''
    ROLE_ADMIN > ROLE_USER
    ROLE_USER > ROLE_USER_NOT_CONFIRMED
'''

希望有所帮助。