【发布时间】:2015-06-18 09:54:01
【问题描述】:
我正在使用 Grails 2.4.5,我创建了一个新应用程序 TestSecurity,创建了一个简单的控制器 SercuredController,可以从界面访问。
package testsecurity
class SecuredController {
def index() {
render 'HELLO FROM CONTROLLER'
}
}
然后我添加了一个 spring_security_core 插件:我添加了 compile ":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']
]
【问题讨论】:
-
教程 URL 现在是 404,仍然有效的顶级 URL - grails-plugins.github.io/grails-spring-security-core