繁体   English   中英

Grails Spring-Security-Core插件教程

[英]Grails spring-security-core plugin tutorial

我正在使用Grails 2.4.5,并且创建了一个新的应用程序TestSecurity,创建了一个简单的控制器SercuredController,可以从该界面访问它。

package testsecurity

class SecuredController {

    def index() { 
        render 'HELLO FROM CONTROLLER'
    }
}

然后,我添加了spring_security_core插件:我添加了编译“:spring-security-core:2.0-RC4”。 然后s2-quickstart com.testapp用户角色

然后,我启动了应用程序,spring_security不允许我输入http:// localhost:8080 / TestSecurity / secured / index并要求输入密码和登录名。 我没有添加@Secured(['ROLE_ADMIN'])或任何其他注释。 如何解决这个错误?

在教程http://grails-plugins.github.io/grails-spring-security-core/guide/single.html#tutorials中 ,据说没有注释就不能保护控制器并且不能访问该控制器。

Config.groovy文件如下所示:

// Added by the Spring Security Core plugin:
grails.plugin.springsecurity.userLookup.userDomainClassName = 'com.testapp.User'
grails.plugin.springsecurity.userLookup.authorityJoinClassName = 'com.testapp.UserRole'
grails.plugin.springsecurity.authority.className = 'com.testapp.Role'
grails.plugin.springsecurity.controllerAnnotations.staticRules = [
    '/':                              ['permitAll'],
    '/index':                         ['permitAll'],
    '/index.gsp':                     ['permitAll'],
    '/assets/**':                     ['permitAll'],
    '/**/js/**':                      ['permitAll'],
    '/**/css/**':                     ['permitAll'],
    '/**/images/**':                  ['permitAll'],
    '/**/favicon.ico':                ['permitAll']
]

我在控制器上使用了@Secured(['ROLE_ANONYMOUS'])批注。 安全已经开始起作用。

您应该使用注释。 为了保护您的控制器。 或者,如果您不喜欢注释,则更改grails.plugin.springsecurity.securityConfigTyp。

读这个:

http://grails-plugins.github.io/grails-spring-security-core/guide/requestMappings.html#securedAnnotations

默认情况下,所有网址都是安全的。 要更改此尝试:

grails.plugin.springsecurity.rejectIfNoRule =否grails.plugin.springsecurity.fii.rejectPublicInvocations =否

阅读有关此选项的文档:

http://grails-plugins.github.io/grails-spring-security-core/guide/requestMappings.html

注意:

正如伯特·贝克维斯(Burt Beckwith)在下面评论的那样,禁用rejectIfNoRule和rejectPublicInvocations不是一个好主意。 因此,不建议使用此功能,但是如果您只想测试某些功能,则可能会有所帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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