繁体   English   中英

spring-security-core Grails插件

[英]spring-security-core Grails plugin

使用spring-security-core:2.0-RC5插件 ,并添加了

@Secured('ROLE_USER')

转到人工控制器,当我转到此URL时

HTTP://本地主机:8080 / MyApp的/人/指数

它假定将我转发到登录页面,因为此操作受保护,但是相反,它使我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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM