[英]spring-security-core Grails plugin
使用spring-security-core:2.0-RC5插件 ,并添加了
@Secured('ROLE_USER')
转到人工控制器,当我转到此URL时
它假定将我转发到登录页面,因为此操作受保护,但是相反,它使我this page can't be displayed
,如下所示。 该如何解决。
我不确定为什么没有方括号就无法使用,但如下所示
@Secured([ 'ROLE_USER'])
或作为
@Secured(值= [ “hasRole( 'ROLE_USER')”])
从@Secured(['ROLE_USER'])
可以看出,它采用角色列表而不是单个角色字符串。 要使用字符串作为角色,您应该使用安全注释中的value属性,然后调用hasRole('your_role')。
希望能帮助到你!
编辑
此外,检查弹簧安全设置。 以下是地雷:
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
当我发表评论时,一切正常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.