Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Grails Spring安全性:帐户过期时移到另一页_Spring_Grails_Spring Security_Grails Controller - Fatal编程技术网

Grails Spring安全性:帐户过期时移到另一页

Grails Spring安全性:帐户过期时移到另一页,spring,grails,spring-security,grails-controller,Spring,Grails,Spring Security,Grails Controller,我已经用Grails3.x和SpringSecurity3.1实现了一个web站点。 我可以在我的登录页面中管理用户注册和身份验证。 我还想管理过期帐户。若我有一个帐户过期了,登录页面说,你们不能继续,因为帐户过期,当你们尝试登录,这是罚款。但是我不想在登录页面中显示错误消息,我想截取它并显示另一个完全不同的页面,但我不知道如何做 谢谢 更新 RTFM: 例如,您可以在application.groovy中配置异常映射,将URL与任何或所有这些异常关联,以确定在发生故障后重定向到何处 grail

我已经用Grails3.x和SpringSecurity3.1实现了一个web站点。 我可以在我的登录页面中管理用户注册和身份验证。 我还想管理过期帐户。若我有一个帐户过期了,登录页面说,你们不能继续,因为帐户过期,当你们尝试登录,这是罚款。但是我不想在登录页面中显示错误消息,我想截取它并显示另一个完全不同的页面,但我不知道如何做

谢谢

更新

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']
]

考虑把你的更新发布为一个答案,你也可以参考最新的GRASS Spring安全文档。