mirror of
https://github.com/spring-projects/spring-security.git
synced 2025-06-01 09:42:13 +00:00
SEC-745: Renamed failureHandler and successHandler to have prefix 'authentication'
This commit is contained in:
parent
6a0da5fe67
commit
ddffdf1699
@ -137,18 +137,18 @@ public class FormLoginBeanDefinitionParser implements BeanDefinitionParser {
|
|||||||
filterBuilder.addPropertyValue("filterProcessesUrl", loginUrl);
|
filterBuilder.addPropertyValue("filterProcessesUrl", loginUrl);
|
||||||
|
|
||||||
if (StringUtils.hasText(successHandlerRef)) {
|
if (StringUtils.hasText(successHandlerRef)) {
|
||||||
filterBuilder.addPropertyReference("successHandler", successHandlerRef);
|
filterBuilder.addPropertyReference("authenticationSuccessHandler", successHandlerRef);
|
||||||
} else {
|
} else {
|
||||||
BeanDefinitionBuilder successHandler = BeanDefinitionBuilder.rootBeanDefinition(SavedRequestAwareAuthenticationSuccessHandler.class);
|
BeanDefinitionBuilder successHandler = BeanDefinitionBuilder.rootBeanDefinition(SavedRequestAwareAuthenticationSuccessHandler.class);
|
||||||
if ("true".equals(alwaysUseDefault)) {
|
if ("true".equals(alwaysUseDefault)) {
|
||||||
successHandler.addPropertyValue("alwaysUseDefaultTargetUrl", Boolean.TRUE);
|
successHandler.addPropertyValue("alwaysUseDefaultTargetUrl", Boolean.TRUE);
|
||||||
}
|
}
|
||||||
successHandler.addPropertyValue("defaultTargetUrl", StringUtils.hasText(defaultTargetUrl) ? defaultTargetUrl : DEF_FORM_LOGIN_TARGET_URL);
|
successHandler.addPropertyValue("defaultTargetUrl", StringUtils.hasText(defaultTargetUrl) ? defaultTargetUrl : DEF_FORM_LOGIN_TARGET_URL);
|
||||||
filterBuilder.addPropertyValue("successHandler", successHandler.getBeanDefinition());
|
filterBuilder.addPropertyValue("authenticationSuccessHandler", successHandler.getBeanDefinition());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (StringUtils.hasText(failureHandlerRef)) {
|
if (StringUtils.hasText(failureHandlerRef)) {
|
||||||
filterBuilder.addPropertyReference("failureHandler", failureHandlerRef);
|
filterBuilder.addPropertyReference("authenticationFailureHandler", failureHandlerRef);
|
||||||
} else {
|
} else {
|
||||||
BeanDefinitionBuilder failureHandler = BeanDefinitionBuilder.rootBeanDefinition(SimpleUrlAuthenticationFailureHandler.class);
|
BeanDefinitionBuilder failureHandler = BeanDefinitionBuilder.rootBeanDefinition(SimpleUrlAuthenticationFailureHandler.class);
|
||||||
if (!StringUtils.hasText(authenticationFailureUrl)) {
|
if (!StringUtils.hasText(authenticationFailureUrl)) {
|
||||||
@ -160,7 +160,7 @@ public class FormLoginBeanDefinitionParser implements BeanDefinitionParser {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
failureHandler.addPropertyValue("defaultFailureUrl", authenticationFailureUrl);
|
failureHandler.addPropertyValue("defaultFailureUrl", authenticationFailureUrl);
|
||||||
filterBuilder.addPropertyValue("failureHandler", failureHandler.getBeanDefinition());
|
filterBuilder.addPropertyValue("authenticationFailureHandler", failureHandler.getBeanDefinition());
|
||||||
}
|
}
|
||||||
|
|
||||||
return (RootBeanDefinition) filterBuilder.getBeanDefinition();
|
return (RootBeanDefinition) filterBuilder.getBeanDefinition();
|
||||||
|
@ -61,7 +61,7 @@ import org.springframework.util.Assert;
|
|||||||
*
|
*
|
||||||
* If authentication is successful, the resulting {@link Authentication} object will be placed into the
|
* If authentication is successful, the resulting {@link Authentication} object will be placed into the
|
||||||
* <code>SecurityContext</code> for the current thread, which is guaranteed to have already been created by an earlier
|
* <code>SecurityContext</code> for the current thread, which is guaranteed to have already been created by an earlier
|
||||||
* filter. The configured {@link #setSuccessHandler(AuthenticationSuccessHandler) AuthenticationSuccessHandler} will
|
* filter. The configured {@link #setAuthenticationSuccessHandler(AuthenticationSuccessHandler) AuthenticationSuccessHandler} will
|
||||||
* then be called to take the redirect to the appropriate destination after a successful login. The default behaviour
|
* then be called to take the redirect to the appropriate destination after a successful login. The default behaviour
|
||||||
* is implemented in a {@link SavedRequestAwareAuthenticationSuccessHandler} which will make use of any
|
* is implemented in a {@link SavedRequestAwareAuthenticationSuccessHandler} which will make use of any
|
||||||
* <tt>SavedRequest</tt> set by the <tt>ExceptionTranslationFilter</tt> and redirect the user to the URL contained
|
* <tt>SavedRequest</tt> set by the <tt>ExceptionTranslationFilter</tt> and redirect the user to the URL contained
|
||||||
@ -427,12 +427,12 @@ public abstract class AbstractProcessingFilter extends SpringSecurityFilter impl
|
|||||||
* Sets the strategy used to handle a successful authentication.
|
* Sets the strategy used to handle a successful authentication.
|
||||||
* By default a {@link SavedRequestAwareAuthenticationSuccessHandler} is used.
|
* By default a {@link SavedRequestAwareAuthenticationSuccessHandler} is used.
|
||||||
*/
|
*/
|
||||||
public void setSuccessHandler(AuthenticationSuccessHandler successHandler) {
|
public void setAuthenticationSuccessHandler(AuthenticationSuccessHandler successHandler) {
|
||||||
Assert.notNull(successHandler, "successHandler cannot be null");
|
Assert.notNull(successHandler, "successHandler cannot be null");
|
||||||
this.successHandler = successHandler;
|
this.successHandler = successHandler;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setFailureHandler(AuthenticationFailureHandler failureHandler) {
|
public void setAuthenticationFailureHandler(AuthenticationFailureHandler failureHandler) {
|
||||||
Assert.notNull(failureHandler, "failureHandler cannot be null");
|
Assert.notNull(failureHandler, "failureHandler cannot be null");
|
||||||
this.failureHandler = failureHandler;
|
this.failureHandler = failureHandler;
|
||||||
}
|
}
|
||||||
|
@ -136,7 +136,7 @@ public class AbstractProcessingFilterTests extends TestCase {
|
|||||||
|
|
||||||
// Setup our test object, to deny access
|
// Setup our test object, to deny access
|
||||||
MockAbstractProcessingFilter filter = new MockAbstractProcessingFilter(false);
|
MockAbstractProcessingFilter filter = new MockAbstractProcessingFilter(false);
|
||||||
filter.setFailureHandler(failureHandler);
|
filter.setAuthenticationFailureHandler(failureHandler);
|
||||||
|
|
||||||
// Test
|
// Test
|
||||||
executeFilterInContainerSimulator(config, filter, request, response, chain);
|
executeFilterInContainerSimulator(config, filter, request, response, chain);
|
||||||
@ -147,7 +147,7 @@ public class AbstractProcessingFilterTests extends TestCase {
|
|||||||
//Prepare again, this time using the exception mapping
|
//Prepare again, this time using the exception mapping
|
||||||
filter = new MockAbstractProcessingFilter(new AccountExpiredException("You're account is expired"));
|
filter = new MockAbstractProcessingFilter(new AccountExpiredException("You're account is expired"));
|
||||||
ExceptionMappingAuthenticationFailureHandler failureHandler = new ExceptionMappingAuthenticationFailureHandler();
|
ExceptionMappingAuthenticationFailureHandler failureHandler = new ExceptionMappingAuthenticationFailureHandler();
|
||||||
filter.setFailureHandler(failureHandler);
|
filter.setAuthenticationFailureHandler(failureHandler);
|
||||||
Properties exceptionMappings = new Properties();
|
Properties exceptionMappings = new Properties();
|
||||||
exceptionMappings.setProperty(AccountExpiredException.class.getName(), "/accountExpired.jsp");
|
exceptionMappings.setProperty(AccountExpiredException.class.getName(), "/accountExpired.jsp");
|
||||||
failureHandler.setExceptionMappings(exceptionMappings);
|
failureHandler.setExceptionMappings(exceptionMappings);
|
||||||
@ -176,7 +176,7 @@ public class AbstractProcessingFilterTests extends TestCase {
|
|||||||
// Setup our test object, to grant access
|
// Setup our test object, to grant access
|
||||||
MockAbstractProcessingFilter filter = new MockAbstractProcessingFilter(true);
|
MockAbstractProcessingFilter filter = new MockAbstractProcessingFilter(true);
|
||||||
filter.setFilterProcessesUrl("/j_OTHER_LOCATION");
|
filter.setFilterProcessesUrl("/j_OTHER_LOCATION");
|
||||||
filter.setSuccessHandler(successHandler);
|
filter.setAuthenticationSuccessHandler(successHandler);
|
||||||
|
|
||||||
// Test
|
// Test
|
||||||
executeFilterInContainerSimulator(config, filter, request, response, chain);
|
executeFilterInContainerSimulator(config, filter, request, response, chain);
|
||||||
@ -234,8 +234,8 @@ public class AbstractProcessingFilterTests extends TestCase {
|
|||||||
MockAbstractProcessingFilter filter = new MockAbstractProcessingFilter(true);
|
MockAbstractProcessingFilter filter = new MockAbstractProcessingFilter(true);
|
||||||
|
|
||||||
filter.setFilterProcessesUrl("/j_mock_post");
|
filter.setFilterProcessesUrl("/j_mock_post");
|
||||||
filter.setSuccessHandler(successHandler);
|
filter.setAuthenticationSuccessHandler(successHandler);
|
||||||
filter.setFailureHandler(failureHandler);
|
filter.setAuthenticationFailureHandler(failureHandler);
|
||||||
filter.setAuthenticationManager(new MockAuthenticationManager(true));
|
filter.setAuthenticationManager(new MockAuthenticationManager(true));
|
||||||
filter.afterPropertiesSet();
|
filter.afterPropertiesSet();
|
||||||
|
|
||||||
@ -250,9 +250,9 @@ public class AbstractProcessingFilterTests extends TestCase {
|
|||||||
|
|
||||||
public void testStartupDetectsInvalidAuthenticationManager() throws Exception {
|
public void testStartupDetectsInvalidAuthenticationManager() throws Exception {
|
||||||
AbstractProcessingFilter filter = new MockAbstractProcessingFilter();
|
AbstractProcessingFilter filter = new MockAbstractProcessingFilter();
|
||||||
filter.setFailureHandler(failureHandler);
|
filter.setAuthenticationFailureHandler(failureHandler);
|
||||||
successHandler.setDefaultTargetUrl("/");
|
successHandler.setDefaultTargetUrl("/");
|
||||||
filter.setSuccessHandler(successHandler);
|
filter.setAuthenticationSuccessHandler(successHandler);
|
||||||
filter.setFilterProcessesUrl("/j_spring_security_check");
|
filter.setFilterProcessesUrl("/j_spring_security_check");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -265,9 +265,9 @@ public class AbstractProcessingFilterTests extends TestCase {
|
|||||||
|
|
||||||
public void testStartupDetectsInvalidFilterProcessesUrl() throws Exception {
|
public void testStartupDetectsInvalidFilterProcessesUrl() throws Exception {
|
||||||
AbstractProcessingFilter filter = new MockAbstractProcessingFilter();
|
AbstractProcessingFilter filter = new MockAbstractProcessingFilter();
|
||||||
filter.setFailureHandler(failureHandler);
|
filter.setAuthenticationFailureHandler(failureHandler);
|
||||||
filter.setAuthenticationManager(new MockAuthenticationManager());
|
filter.setAuthenticationManager(new MockAuthenticationManager());
|
||||||
filter.setSuccessHandler(successHandler);
|
filter.setAuthenticationSuccessHandler(successHandler);
|
||||||
filter.setFilterProcessesUrl(null);
|
filter.setFilterProcessesUrl(null);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -292,7 +292,7 @@ public class AbstractProcessingFilterTests extends TestCase {
|
|||||||
// Setup our test object, to grant access
|
// Setup our test object, to grant access
|
||||||
MockAbstractProcessingFilter filter = new MockAbstractProcessingFilter(true);
|
MockAbstractProcessingFilter filter = new MockAbstractProcessingFilter(true);
|
||||||
filter.setFilterProcessesUrl("/j_mock_post");
|
filter.setFilterProcessesUrl("/j_mock_post");
|
||||||
filter.setSuccessHandler(successHandler);
|
filter.setAuthenticationSuccessHandler(successHandler);
|
||||||
|
|
||||||
// Test
|
// Test
|
||||||
executeFilterInContainerSimulator(config, filter, request, response, chain);
|
executeFilterInContainerSimulator(config, filter, request, response, chain);
|
||||||
@ -309,7 +309,7 @@ public class AbstractProcessingFilterTests extends TestCase {
|
|||||||
// Setup our test object, to deny access
|
// Setup our test object, to deny access
|
||||||
filter = new MockAbstractProcessingFilter(false);
|
filter = new MockAbstractProcessingFilter(false);
|
||||||
filter.setFilterProcessesUrl("/j_mock_post");
|
filter.setFilterProcessesUrl("/j_mock_post");
|
||||||
filter.setFailureHandler(failureHandler);
|
filter.setAuthenticationFailureHandler(failureHandler);
|
||||||
|
|
||||||
// Test
|
// Test
|
||||||
executeFilterInContainerSimulator(config, filter, request, response, chain);
|
executeFilterInContainerSimulator(config, filter, request, response, chain);
|
||||||
@ -336,7 +336,7 @@ public class AbstractProcessingFilterTests extends TestCase {
|
|||||||
assertFalse(successHandler.isAlwaysUseDefaultTargetUrl()); // check default
|
assertFalse(successHandler.isAlwaysUseDefaultTargetUrl()); // check default
|
||||||
successHandler.setAlwaysUseDefaultTargetUrl(true);
|
successHandler.setAlwaysUseDefaultTargetUrl(true);
|
||||||
assertTrue(successHandler.isAlwaysUseDefaultTargetUrl()); // check changed
|
assertTrue(successHandler.isAlwaysUseDefaultTargetUrl()); // check changed
|
||||||
filter.setSuccessHandler(successHandler);
|
filter.setAuthenticationSuccessHandler(successHandler);
|
||||||
|
|
||||||
// Test
|
// Test
|
||||||
executeFilterInContainerSimulator(config, filter, request, response, chain);
|
executeFilterInContainerSimulator(config, filter, request, response, chain);
|
||||||
@ -380,7 +380,7 @@ public class AbstractProcessingFilterTests extends TestCase {
|
|||||||
MockAbstractProcessingFilter filter = new MockAbstractProcessingFilter(true);
|
MockAbstractProcessingFilter filter = new MockAbstractProcessingFilter(true);
|
||||||
successHandler.setDefaultTargetUrl("https://monkeymachine.co.uk/");
|
successHandler.setDefaultTargetUrl("https://monkeymachine.co.uk/");
|
||||||
successHandler.setAlwaysUseDefaultTargetUrl(true);
|
successHandler.setAlwaysUseDefaultTargetUrl(true);
|
||||||
filter.setSuccessHandler(successHandler);
|
filter.setAuthenticationSuccessHandler(successHandler);
|
||||||
|
|
||||||
executeFilterInContainerSimulator(config, filter, request, response, chain);
|
executeFilterInContainerSimulator(config, filter, request, response, chain);
|
||||||
assertEquals("https://monkeymachine.co.uk/", response.getRedirectedUrl());
|
assertEquals("https://monkeymachine.co.uk/", response.getRedirectedUrl());
|
||||||
@ -400,7 +400,7 @@ public class AbstractProcessingFilterTests extends TestCase {
|
|||||||
MockAbstractProcessingFilter filter = new MockAbstractProcessingFilter(true);
|
MockAbstractProcessingFilter filter = new MockAbstractProcessingFilter(true);
|
||||||
filter.setInvalidateSessionOnSuccessfulAuthentication(true);
|
filter.setInvalidateSessionOnSuccessfulAuthentication(true);
|
||||||
successHandler.setDefaultTargetUrl("http://monkeymachine.co.uk/");
|
successHandler.setDefaultTargetUrl("http://monkeymachine.co.uk/");
|
||||||
filter.setSuccessHandler(successHandler);
|
filter.setAuthenticationSuccessHandler(successHandler);
|
||||||
|
|
||||||
executeFilterInContainerSimulator(config, filter, request, response, chain);
|
executeFilterInContainerSimulator(config, filter, request, response, chain);
|
||||||
|
|
||||||
@ -420,7 +420,7 @@ public class AbstractProcessingFilterTests extends TestCase {
|
|||||||
filter.setInvalidateSessionOnSuccessfulAuthentication(true);
|
filter.setInvalidateSessionOnSuccessfulAuthentication(true);
|
||||||
filter.setMigrateInvalidatedSessionAttributes(false);
|
filter.setMigrateInvalidatedSessionAttributes(false);
|
||||||
successHandler.setDefaultTargetUrl("http://monkeymachine.co.uk/");
|
successHandler.setDefaultTargetUrl("http://monkeymachine.co.uk/");
|
||||||
filter.setSuccessHandler(successHandler);
|
filter.setAuthenticationSuccessHandler(successHandler);
|
||||||
|
|
||||||
executeFilterInContainerSimulator(config, filter, request, response, chain);
|
executeFilterInContainerSimulator(config, filter, request, response, chain);
|
||||||
|
|
||||||
@ -442,9 +442,9 @@ public class AbstractProcessingFilterTests extends TestCase {
|
|||||||
// Reject authentication, so exception would normally be stored in session
|
// Reject authentication, so exception would normally be stored in session
|
||||||
MockAbstractProcessingFilter filter = new MockAbstractProcessingFilter(false);
|
MockAbstractProcessingFilter filter = new MockAbstractProcessingFilter(false);
|
||||||
filter.setAllowSessionCreation(false);
|
filter.setAllowSessionCreation(false);
|
||||||
filter.setFailureHandler(failureHandler);
|
filter.setAuthenticationFailureHandler(failureHandler);
|
||||||
successHandler.setDefaultTargetUrl("http://monkeymachine.co.uk/");
|
successHandler.setDefaultTargetUrl("http://monkeymachine.co.uk/");
|
||||||
filter.setSuccessHandler(successHandler);
|
filter.setAuthenticationSuccessHandler(successHandler);
|
||||||
|
|
||||||
executeFilterInContainerSimulator(config, filter, request, response, chain);
|
executeFilterInContainerSimulator(config, filter, request, response, chain);
|
||||||
|
|
||||||
@ -463,7 +463,7 @@ public class AbstractProcessingFilterTests extends TestCase {
|
|||||||
|
|
||||||
MockAbstractProcessingFilter filter = new MockAbstractProcessingFilter(false);
|
MockAbstractProcessingFilter filter = new MockAbstractProcessingFilter(false);
|
||||||
successHandler.setDefaultTargetUrl("http://monkeymachine.co.uk/");
|
successHandler.setDefaultTargetUrl("http://monkeymachine.co.uk/");
|
||||||
filter.setSuccessHandler(successHandler);
|
filter.setAuthenticationSuccessHandler(successHandler);
|
||||||
|
|
||||||
executeFilterInContainerSimulator(config, filter, request, response, chain);
|
executeFilterInContainerSimulator(config, filter, request, response, chain);
|
||||||
|
|
||||||
@ -482,8 +482,8 @@ public class AbstractProcessingFilterTests extends TestCase {
|
|||||||
|
|
||||||
MockAbstractProcessingFilter filter = new MockAbstractProcessingFilter(false);
|
MockAbstractProcessingFilter filter = new MockAbstractProcessingFilter(false);
|
||||||
successHandler.setDefaultTargetUrl("http://monkeymachine.co.uk/");
|
successHandler.setDefaultTargetUrl("http://monkeymachine.co.uk/");
|
||||||
filter.setSuccessHandler(successHandler);
|
filter.setAuthenticationSuccessHandler(successHandler);
|
||||||
filter.setFailureHandler(failureHandler);
|
filter.setAuthenticationFailureHandler(failureHandler);
|
||||||
failureHandler.setUseForward(true);
|
failureHandler.setUseForward(true);
|
||||||
failureHandler.setDefaultFailureUrl("/error");
|
failureHandler.setDefaultFailureUrl("/error");
|
||||||
|
|
||||||
@ -504,10 +504,10 @@ public class AbstractProcessingFilterTests extends TestCase {
|
|||||||
MockHttpServletResponse response = new MockHttpServletResponse();
|
MockHttpServletResponse response = new MockHttpServletResponse();
|
||||||
|
|
||||||
MockAbstractProcessingFilter filter = new MockAbstractProcessingFilter(true);
|
MockAbstractProcessingFilter filter = new MockAbstractProcessingFilter(true);
|
||||||
filter.setSuccessHandler(successHandler);
|
filter.setAuthenticationSuccessHandler(successHandler);
|
||||||
successHandler.setDefaultTargetUrl("http://monkeymachine.co.uk/");
|
successHandler.setDefaultTargetUrl("http://monkeymachine.co.uk/");
|
||||||
successHandler.setTargetUrlParameter("targetUrl");
|
successHandler.setTargetUrlParameter("targetUrl");
|
||||||
filter.setFailureHandler(failureHandler);
|
filter.setAuthenticationFailureHandler(failureHandler);
|
||||||
|
|
||||||
executeFilterInContainerSimulator(config, filter, request, response, chain);
|
executeFilterInContainerSimulator(config, filter, request, response, chain);
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ public class OpenIDAuthenticationProcessingFilterTests extends TestCase {
|
|||||||
filter = new OpenIDAuthenticationProcessingFilter();
|
filter = new OpenIDAuthenticationProcessingFilter();
|
||||||
filter.setConsumer(new MockOpenIDConsumer(REDIRECT_URL));
|
filter.setConsumer(new MockOpenIDConsumer(REDIRECT_URL));
|
||||||
SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
|
SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
|
||||||
filter.setSuccessHandler(new SavedRequestAwareAuthenticationSuccessHandler());
|
filter.setAuthenticationSuccessHandler(new SavedRequestAwareAuthenticationSuccessHandler());
|
||||||
successHandler.setDefaultTargetUrl(DEFAULT_TARGET_URL);
|
successHandler.setDefaultTargetUrl(DEFAULT_TARGET_URL);
|
||||||
filter.setAuthenticationManager(new MockAuthenticationManager());
|
filter.setAuthenticationManager(new MockAuthenticationManager());
|
||||||
filter.afterPropertiesSet();
|
filter.afterPropertiesSet();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user