我已经使用Grails 3.x和spring security 3.1实现了一个网站。 我可以在登录页面中管理用户注册和身份验证。 我也想管理到期帐户。如果我的帐户已过期,登录页面会说由于帐户已过期而无法继续,当您尝试登录时,这很好。但是我没有在登录页面中显示错误消息,而是想拦截它并显示另一个完全不同的页面,但我不知道该怎么做。
感谢
更新
RTFM:
您可以在 application.groovy 中配置例外映射,以将URL与任何或所有这些例外相关联,以确定失败后重定向的位置,例如。
示例grails.plugin.springsecurity.failureHandler.exceptionMappings配置
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']
]