[英]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。
读这个:
默认情况下,所有网址都是安全的。 要更改此尝试:
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.