浏览代码

Support credentialsExpiredUrl as per request made in http://forum.springframework.org/viewtopic.php?t=3862.

Ben Alex 20 年之前
父节点
当前提交
051a34f859
共有 1 个文件被更改,包括 7 次插入0 次删除
  1. 7 0
      core/src/main/java/org/acegisecurity/ui/AbstractProcessingFilter.java

+ 7 - 0
core/src/main/java/org/acegisecurity/ui/AbstractProcessingFilter.java

@@ -20,6 +20,7 @@ import net.sf.acegisecurity.AuthenticationException;
 import net.sf.acegisecurity.AuthenticationManager;
 import net.sf.acegisecurity.AuthenticationServiceException;
 import net.sf.acegisecurity.BadCredentialsException;
+import net.sf.acegisecurity.CredentialsExpiredException;
 import net.sf.acegisecurity.DisabledException;
 import net.sf.acegisecurity.LockedException;
 import net.sf.acegisecurity.context.ContextHolder;
@@ -144,6 +145,7 @@ public abstract class AbstractProcessingFilter implements Filter,
      * the authentication service
      */
     private String authenticationServiceFailureUrl;
+    private String credentialsExpiredFailureUrl;
 
     /**
      * Where to redirect the browser to if authentication is successful but
@@ -490,6 +492,11 @@ public abstract class AbstractProcessingFilter implements Filter,
             failureUrl = authenticationProxyUntrustedFailureUrl;
         }
 
+        if (failed instanceof CredentialsExpiredException
+            && (credentialsExpiredFailureUrl != null)) {
+            failureUrl = credentialsExpiredFailureUrl;
+        }
+
         if (logger.isDebugEnabled()) {
             logger.debug("Authentication request failed: " + failed.toString());
         }