From 0159b617cf9d2e0c2fdb6c7061a4cd9ffa624cb2 Mon Sep 17 00:00:00 2001 From: Ray Krueger Date: Tue, 19 Jun 2007 13:09:57 +0000 Subject: [PATCH] Refactored the failureUrl lookup into a protected method to allow customization --- .../org/acegisecurity/ui/AbstractProcessingFilter.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/org/acegisecurity/ui/AbstractProcessingFilter.java b/core/src/main/java/org/acegisecurity/ui/AbstractProcessingFilter.java index f10ab92396..8b68af9a28 100644 --- a/core/src/main/java/org/acegisecurity/ui/AbstractProcessingFilter.java +++ b/core/src/main/java/org/acegisecurity/ui/AbstractProcessingFilter.java @@ -27,7 +27,6 @@ import org.acegisecurity.event.authentication.InteractiveAuthenticationSuccessEv import org.acegisecurity.ui.rememberme.NullRememberMeServices; import org.acegisecurity.ui.rememberme.RememberMeServices; import org.acegisecurity.ui.savedrequest.SavedRequest; -import org.acegisecurity.userdetails.UserDetailsService; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -565,7 +564,7 @@ public abstract class AbstractProcessingFilter implements Filter, InitializingBe logger.debug("Updated SecurityContextHolder to contain null Authentication"); } - String failureUrl = exceptionMappings.getProperty(failed.getClass().getName(), authenticationFailureUrl); + String failureUrl = determineFailureUrl(request, failed); if (logger.isDebugEnabled()) { logger.debug("Authentication request failed: " + failed.toString()); @@ -584,7 +583,11 @@ public abstract class AbstractProcessingFilter implements Filter, InitializingBe sendRedirect(request, response, failureUrl); } - public AuthenticationDetailsSource getAuthenticationDetailsSource() { + protected String determineFailureUrl(HttpServletRequest request, AuthenticationException failed) { + return exceptionMappings.getProperty(failed.getClass().getName(), authenticationFailureUrl); + } + + public AuthenticationDetailsSource getAuthenticationDetailsSource() { // Required due to SEC-310 return authenticationDetailsSource; }