Grails Spring安全性:帐户过期时移到另一页
我已经用Grails3.x和SpringSecurity3.1实现了一个web站点。 我可以在我的登录页面中管理用户注册和身份验证。 我还想管理过期帐户。若我有一个帐户过期了,登录页面说,你们不能继续,因为帐户过期,当你们尝试登录,这是罚款。但是我不想在登录页面中显示错误消息,我想截取它并显示另一个完全不同的页面,但我不知道如何做 谢谢 更新 RTFM: 例如,您可以在application.groovy中配置异常映射,将URL与任何或所有这些异常关联,以确定在发生故障后重定向到何处 grails.plugin.springsecurity.failureHandler.exceptionMappings配置示例Grails Spring安全性:帐户过期时移到另一页,spring,grails,spring-security,grails-controller,Spring,Grails,Spring Security,Grails Controller,我已经用Grails3.x和SpringSecurity3.1实现了一个web站点。 我可以在我的登录页面中管理用户注册和身份验证。 我还想管理过期帐户。若我有一个帐户过期了,登录页面说,你们不能继续,因为帐户过期,当你们尝试登录,这是罚款。但是我不想在登录页面中显示错误消息,我想截取它并显示另一个完全不同的页面,但我不知道如何做 谢谢 更新 RTFM: 例如,您可以在application.groovy中配置异常映射,将URL与任何或所有这些异常关联,以确定在发生故障后重定向到何处 grail
import org.springframework.security.authentication.LockedException
import org.springframework.security.authentication.DisabledException
import org.springframework.security.authentication.AccountExpiredException
import org.springframework.security.authentication.CredentialsExpiredException
grails.plugin.springsecurity.failureHandler.exceptionMappings = [
[exception: LockedException.name, url: '/user/accountLocked'],
[exception: DisabledException.name, url: '/user/accountDisabled'],
[exception: AccountExpiredException.name, url: '/user/accountExpired'],
[exception: CredentialsExpiredException.name, url: '/user/passwordExpired']
]
考虑把你的更新发布为一个答案,你也可以参考最新的GRASS Spring安全文档。