【发布时间】:2014-02-09 00:58:32
【问题描述】:
除了 spring-security-plugin 之外,我还在使用 grails 2 框架。
我构建了一个自定义登录表单,它应该始终在主页上可见。
因此,应始终将用户重定向到主页。无论是否发生错误。
在成功登录的情况下,一切正常,但在发生错误的情况下,flash 范围在重定向期间丢失。所以我无法显示身份验证失败的原因。
根据文档,应该只调整参数“defaultFailureUrl”。 但这并没有按预期工作。
是否有任何其他必要的参数来实现此功能?
我的 Config.groovy
// Added by the Spring Security Core plugin:
grails.plugin.springsecurity.successHandler.defaultTargetUrl="/"
grails.plugin.springsecurity.successHandler.alwaysUseDefault=true
grails.plugin.springsecurity.failureHandler.defaultFailureUrl = '/'
grails.plugin.springsecurity.auth.loginFormUrl = '/'
grails.plugin.springsecurity.logout.postOnly = false // Logout through direct link
grails.plugin.springsecurity.userLookup.userDomainClassName = 'de.msg.login.User'
grails.plugin.springsecurity.userLookup.authorityJoinClassName = 'de.msg.login.UserRole'
grails.plugin.springsecurity.authority.className = 'de.msg.login.Role'
希望有人能找到解决办法;)
【问题讨论】:
-
我自己找到了解决方案。 flash.messages 总是丢失,所以我不得不重写 LoginController 的 authFail() 方法。我现在使用转发到我的控制器,而不是重定向。在我的控制器中,我重定向到我的应用程序的主页。
标签: grails login spring-security