spring安全核心Grails插件
使用spring security core:2.0-RC5插件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'])很明显,它采用的是角色列表,
@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尝试过球拍?