【问题标题】:grails 3 spring security - authentication does not workinggrails 3 spring security - 身份验证不起作用
【发布时间】: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,但仍然无法登录

标签: grails spring-security


【解决方案1】:

问题在于自定义登录和注销 gsp。新版本不兼容,需要重新创建。 删除 login.gsp/logout.gsp 解决了这个问题。

【讨论】:

    猜你喜欢
    • 2019-07-18
    • 2013-11-13
    • 2012-07-05
    • 2011-11-14
    • 2021-04-06
    • 2015-08-27
    • 2014-01-28
    • 1970-01-01
    • 2014-01-08
    相关资源
    最近更新 更多