spring安全核心Grails插件

spring安全核心Grails插件,grails,grails-plugin,grails-2.0,grails-2.5,Grails,Grails Plugin,Grails 2.0,Grails 2.5,使用spring security core:2.0-RC5插件 @Secured('ROLE_USER') 当我转到此URL时,发送给人类控制器 它假设将我转发到登录页面,因为此操作受到保护,但它会给我此页面无法显示,如下所示。如何解决这个问题 我不确定为什么没有方括号它不工作,但工作原理如下 @安全(['ROLE\u用户']) 或作为 @安全(值=[“hasRole('ROLE\u USER')”]) 来自@Secured(['ROLE\u USER'])很明显,它采用的是角色列表,

使用spring security core:2.0-RC5插件

@Secured('ROLE_USER')
当我转到此URL时,发送给人类控制器

它假设将我转发到登录页面,因为此操作受到保护,但它会给我
此页面无法显示,如下所示。如何解决这个问题


我不确定为什么没有方括号它不工作,但工作原理如下

@安全(['ROLE\u用户'])

或作为

@安全(值=[“hasRole('ROLE\u USER')”])

来自
@Secured(['ROLE\u USER'])很明显,它采用的是角色列表,而不是单个角色字符串。要将角色指定为字符串,您应该使用安全注释中的value属性,然后调用hasRole(“您的角色”)

希望有帮助

编辑

另外,请检查spring安全设置。以下是:

grails.plugin.springsecurity.logout.postOnly = false
grails.plugin.springsecurity.userLookup.userDomainClassName = 'com..User'
grails.plugin.springsecurity.userLookup.authorityJoinClassName = 'com.UserRole'
grails.plugin.springsecurity.authority.className = 'com.Role'
grails.plugin.springsecurity.authority.groupAuthorityNameField = 'authorities'
grails.plugin.springsecurity.useRoleGroups = false
grails.plugin.springsecurity.securityConfigType = "Annotation"
grails.plugin.springsecurity.rejectIfNoRule = false
grails.plugin.springsecurity.fii.rejectPublicInvocations = false
grails.plugin.springsecurity.successHandler.defaultTargetUrl="/home/index"
grails.plugin.springsecurity.controllerAnnotations.staticRules  = [
        '/':                ['permitAll'],
        '/error':           ['permitAll'],
        '/index':           ['permitAll'],
        '/index.gsp':       ['permitAll'],
        '/shutdown':        ['permitAll'],
        '/assets/**':       ['permitAll'],
        '/**/js/**':        ['permitAll'],
        '/**/css/**':       ['permitAll'],
        '/fonts/**':        ['permitAll'],
        '/**/images/**':    ['permitAll'],
        '/**/favicon.ico':  ['permitAll'],
        '/login/**':        ['permitAll'],
        '/logout/**':       ['permitAll'],
        '/dbconsole/**':    ['ROLE_ADMIN'],

]

希望这些有帮助!

我不知道为什么没有方括号它不工作,但工作原理如下

@安全(['ROLE\u用户'])

或作为

@安全(值=[“hasRole('ROLE\u USER')”])

来自
@Secured(['ROLE\u USER'])很明显,它采用的是角色列表,而不是单个角色字符串。要将角色指定为字符串,您应该使用安全注释中的value属性,然后调用hasRole(“您的角色”)

希望有帮助

编辑

另外,请检查spring安全设置。以下是:

grails.plugin.springsecurity.logout.postOnly = false
grails.plugin.springsecurity.userLookup.userDomainClassName = 'com..User'
grails.plugin.springsecurity.userLookup.authorityJoinClassName = 'com.UserRole'
grails.plugin.springsecurity.authority.className = 'com.Role'
grails.plugin.springsecurity.authority.groupAuthorityNameField = 'authorities'
grails.plugin.springsecurity.useRoleGroups = false
grails.plugin.springsecurity.securityConfigType = "Annotation"
grails.plugin.springsecurity.rejectIfNoRule = false
grails.plugin.springsecurity.fii.rejectPublicInvocations = false
grails.plugin.springsecurity.successHandler.defaultTargetUrl="/home/index"
grails.plugin.springsecurity.controllerAnnotations.staticRules  = [
        '/':                ['permitAll'],
        '/error':           ['permitAll'],
        '/index':           ['permitAll'],
        '/index.gsp':       ['permitAll'],
        '/shutdown':        ['permitAll'],
        '/assets/**':       ['permitAll'],
        '/**/js/**':        ['permitAll'],
        '/**/css/**':       ['permitAll'],
        '/fonts/**':        ['permitAll'],
        '/**/images/**':    ['permitAll'],
        '/**/favicon.ico':  ['permitAll'],
        '/login/**':        ['permitAll'],
        '/logout/**':       ['permitAll'],
        '/dbconsole/**':    ['ROLE_ADMIN'],

]

希望这些帮助!

查看我找到的配置文件时:

grails.plugin.springsecurity.auth.forceHttps = true

当我对其进行评论时,一切正常。

在查看我的配置文件时,我发现:

grails.plugin.springsecurity.auth.forceHttps = true

当我对它进行评论时,一切正常。

按照您的建议进行了更改,但仍然得到相同的结果。其他spring安全设置似乎存在问题。您是否检查了spring安全配置。这些配置是否正确?我需要检查哪些spring安全配置?是的!让我编辑并向您提供我的spring配置可能这些会有帮助!我有一些你发布的配置,自从我安装了插件后,我没有更改它们:
grails.plugin.springsecurity.userLookup.userDomainClassName='com.security.Users'grails.plugin.springsecurity.userLookup.authorityJoinClassName='com.security.UsersRoles'grails.plugin.springsecurity.authority.className='com.security.Roles'grails.plugin.springsecurity.auth.loginFormUrl='/login/auth'
按照您的建议进行了更改,但仍然得到相同的结果。其他spring安全设置似乎有问题。您是否检查了spring安全配置。这些配置是否正确?我需要检查哪些spring安全配置?是的!让我编辑并为您提供我的spring配置。可能这些配置会有所帮助!我有一些您发布的配置,自从我安装了插件后,我没有更改它们:
grails.plugin.springsecurity.userLookup.userDomainClassName='com.security.Users'grails.plugin.springsecurity.userLookup.authorityJoinClassName='com.security.UsersRoles'grails.plugin.springsecurity.authority.className='com.security.Roles'grails.plugin.springsecurity.auth.loginFormUrl='/login/auth'
如果您觉得我的答案不错,请接受。您是用方括号还是方括号尝试过?如果您觉得我的答案不错,请接受。您是用方括号还是用方b尝试过球拍?