diff --git a/core/src/main/java/org/acegisecurity/ui/AbstractProcessingFilter.java b/core/src/main/java/org/acegisecurity/ui/AbstractProcessingFilter.java
index ac8f0ffa60..a367e5f73c 100644
--- a/core/src/main/java/org/acegisecurity/ui/AbstractProcessingFilter.java
+++ b/core/src/main/java/org/acegisecurity/ui/AbstractProcessingFilter.java
@@ -1,4 +1,4 @@
-/* Copyright 2004, 2005 Acegi Technology Pty Limited
+/* Copyright 2004, 2005, 2006 Acegi Technology Pty Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,36 +15,44 @@
package org.acegisecurity.ui;
-import java.io.IOException;
-import java.util.Properties;
-
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
import org.acegisecurity.AcegiMessageSource;
import org.acegisecurity.Authentication;
import org.acegisecurity.AuthenticationException;
import org.acegisecurity.AuthenticationManager;
+
import org.acegisecurity.context.SecurityContextHolder;
+
import org.acegisecurity.event.authentication.InteractiveAuthenticationSuccessEvent;
+
import org.acegisecurity.ui.rememberme.NullRememberMeServices;
import org.acegisecurity.ui.rememberme.RememberMeServices;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+
import org.springframework.beans.factory.InitializingBean;
+
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.context.ApplicationEventPublisherAware;
import org.springframework.context.MessageSource;
import org.springframework.context.MessageSourceAware;
import org.springframework.context.support.MessageSourceAccessor;
+
import org.springframework.util.Assert;
+import java.io.IOException;
+
+import java.util.Properties;
+
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
/**
* Abstract processor of browser-based HTTP-based authentication requests.
@@ -100,11 +108,11 @@ import org.springframework.util.Assert;
* fully-qualified exception class name to a redirection url target.
* For example:
* <property name="exceptionMappings">
- * <props>
- * <prop> key="org.acegisecurity.BadCredentialsException">/bad_credentials.jsp</prop>
- * </props>
- * </property>
- *
+ * * <props>
+ * * <prop> key="org.acegisecurity.BadCredentialsException">/bad_credentials.jsp</prop>
+ * * </props>
+ * * </property>
+ * *
* The example above would redirect all {@link
* org.acegisecurity.BadCredentialsException}s thrown, to a page in the
* web-application called /bad_credentials.jsp.
@@ -220,11 +228,10 @@ public abstract class AbstractProcessingFilter implements Filter,
logger.debug("Request is to process authentication");
}
- onPreAuthentication(httpRequest, httpResponse);
-
Authentication authResult;
try {
+ onPreAuthentication(httpRequest, httpResponse);
authResult = attemptAuthentication(httpRequest);
} catch (AuthenticationException failed) {
// Authentication failed
@@ -296,7 +303,8 @@ public abstract class AbstractProcessingFilter implements Filter,
}
protected void onPreAuthentication(HttpServletRequest request,
- HttpServletResponse response) throws IOException {}
+ HttpServletResponse response)
+ throws AuthenticationException, IOException {}
protected void onSuccessfulAuthentication(HttpServletRequest request,
HttpServletResponse response, Authentication authResult)