我的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身份登录时,它会抛出权限错误。
答案 0 :(得分:1)
我认为这个配置适用于新版本的插件(版本2.0)。您是否可以尝试使用此代码修改配置(插件后' ):
grails.plugins.springsecurity.roleHierarchy = '''
ROLE_ADMIN > ROLE_USER
ROLE_USER > ROLE_USER_NOT_CONFIRMED
'''
希望有所帮助。