SEC-221: AbstractProcessingFilter.onPreAuthentication() should have exceptions caught.
This commit is contained in:
parent
6bae43d380
commit
185d63f23c
|
@ -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");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -15,7 +15,33 @@
|
||||||
|
|
||||||
package org.acegisecurity.ui;
|
package org.acegisecurity.ui;
|
||||||
|
|
||||||
|
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.io.IOException;
|
||||||
|
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
import javax.servlet.Filter;
|
import javax.servlet.Filter;
|
||||||
|
@ -27,24 +53,6 @@ import javax.servlet.ServletResponse;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
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;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Abstract processor of browser-based HTTP-based authentication requests.
|
* 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.<br>
|
* fully-qualified exception class name to a redirection url target.<br>
|
||||||
* For example:<br>
|
* For example:<br>
|
||||||
* <code> <property name="exceptionMappings"><br>
|
* <code> <property name="exceptionMappings"><br>
|
||||||
* <props><br>
|
* * <props><br>
|
||||||
* <prop> key="org.acegisecurity.BadCredentialsException">/bad_credentials.jsp</prop><br>
|
* * <prop> key="org.acegisecurity.BadCredentialsException">/bad_credentials.jsp</prop><br>
|
||||||
* </props><br>
|
* * </props><br>
|
||||||
* </property><br>
|
* * </property><br>
|
||||||
* </code><br>
|
* * </code><br>
|
||||||
* The example above would redirect all {@link
|
* The example above would redirect all {@link
|
||||||
* org.acegisecurity.BadCredentialsException}s thrown, to a page in the
|
* org.acegisecurity.BadCredentialsException}s thrown, to a page in the
|
||||||
* web-application called /bad_credentials.jsp.
|
* web-application called /bad_credentials.jsp.
|
||||||
|
@ -220,11 +228,10 @@ public abstract class AbstractProcessingFilter implements Filter,
|
||||||
logger.debug("Request is to process authentication");
|
logger.debug("Request is to process authentication");
|
||||||
}
|
}
|
||||||
|
|
||||||
onPreAuthentication(httpRequest, httpResponse);
|
|
||||||
|
|
||||||
Authentication authResult;
|
Authentication authResult;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
onPreAuthentication(httpRequest, httpResponse);
|
||||||
authResult = attemptAuthentication(httpRequest);
|
authResult = attemptAuthentication(httpRequest);
|
||||||
} catch (AuthenticationException failed) {
|
} catch (AuthenticationException failed) {
|
||||||
// Authentication failed
|
// Authentication failed
|
||||||
|
@ -296,7 +303,8 @@ public abstract class AbstractProcessingFilter implements Filter,
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void onPreAuthentication(HttpServletRequest request,
|
protected void onPreAuthentication(HttpServletRequest request,
|
||||||
HttpServletResponse response) throws IOException {}
|
HttpServletResponse response)
|
||||||
|
throws AuthenticationException, IOException {}
|
||||||
|
|
||||||
protected void onSuccessfulAuthentication(HttpServletRequest request,
|
protected void onSuccessfulAuthentication(HttpServletRequest request,
|
||||||
HttpServletResponse response, Authentication authResult)
|
HttpServletResponse response, Authentication authResult)
|
||||||
|
|
Loading…
Reference in New Issue