【发布时间】:2017-02-13 06:32:24
【问题描述】:
我尝试将简单项目从 grails 2.4.2 更新到 3.2.0,似乎除了 spring security 之外一切正常。
问题是 /login/auth 页面总是重定向到 /login/auth?login_error=1 即使从 BootStrap.groovy 更正的用户尝试登录:
BootStrap.groovy
def init = { servletContext ->
def adminRole = new Role(authority: 'ROLE_ADMIN').save(flush: true)
def testUser = new Person(username: 'me', password: 'password')
testUser.save(flush: true)
PersonRole.create testUser, adminRole, true
}
application.groovy
grails.plugin.springsecurity.logout.postOnly = false
grails.plugin.springsecurity.userLookup.userDomainClassName = 'simple.Role.Person'
grails.plugin.springsecurity.userLookup.authorityJoinClassName = 'simple.Role.PersonRole'
grails.plugin.springsecurity.authority.className = 'simple.Role'
grails.plugin.springsecurity.securityConfigType = "InterceptUrlMap"
grails.plugin.springsecurity.interceptUrlMap = [
[pattern: '/', access: ['permitAll']],
[pattern: '/error', access: ['permitAll']],
[pattern: '/index', access: ['permitAll']],
[pattern: '/index.gsp', access: ['permitAll']],
[pattern: '/shutdown', access: ['permitAll']],
[pattern: '/assets/**', access: ['permitAll']],
[pattern: '/**/js/**', access: ['permitAll']],
[pattern: '/**/css/**', access: ['permitAll']],
[pattern: '/**/images/**', access: ['permitAll']],
[pattern: '/**/favicon.ico', access: ['permitAll']],
[pattern: '/login/**', access: ['permitAll']],
[pattern: '/logout/**', access: ['permitAll']],
[pattern: '/simple/**', access: ['ROLE_ADMIN']]
]
请指出正确的方向 - 问题可能出在哪里?
【问题讨论】:
-
你在你的 application.groovy 中设置了 grails.serverURL 吗?
-
grails.serverURL = "http://
: / " 将此格式的grails.serverURL配置成application.groovy -
设置 grails.serverURL = "localhost:8080/simple" 不会导致重定向到 /login/auth?login_error=1,但仍然无法登录