Expose default constructor in AbstractAuthenticationFilterConfigurer

Fixes gh-4737
This commit is contained in:
Joe Grandja 2017-10-29 04:13:01 -04:00
parent 5a5ec58ca4
commit 5a7466512e

View File

@ -15,11 +15,6 @@
*/
package org.springframework.security.config.annotation.web.configurers;
import java.util.Arrays;
import java.util.Collections;
import javax.servlet.http.HttpServletRequest;
import org.springframework.http.MediaType;
import org.springframework.security.authentication.AuthenticationDetailsSource;
import org.springframework.security.authentication.AuthenticationManager;
@ -37,16 +32,20 @@ import org.springframework.security.web.authentication.SavedRequestAwareAuthenti
import org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler;
import org.springframework.security.web.authentication.WebAuthenticationDetailsSource;
import org.springframework.security.web.authentication.session.SessionAuthenticationStrategy;
import org.springframework.security.web.util.matcher.RequestMatcher;
import org.springframework.security.web.util.matcher.AndRequestMatcher;
import org.springframework.security.web.util.matcher.MediaTypeRequestMatcher;
import org.springframework.security.web.util.matcher.NegatedRequestMatcher;
import org.springframework.security.web.util.matcher.RequestHeaderRequestMatcher;
import org.springframework.security.web.util.matcher.RequestMatcher;
import org.springframework.web.accept.ContentNegotiationStrategy;
import org.springframework.web.accept.HeaderContentNegotiationStrategy;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.Collections;
/**
* Base class for confuring {@link AbstractAuthenticationFilterConfigurer}. This is
* Base class for configuring {@link AbstractAuthenticationFilterConfigurer}. This is
* intended for internal use only.
*
* @see FormLoginConfigurer
@ -62,7 +61,7 @@ import org.springframework.web.accept.HeaderContentNegotiationStrategy;
public abstract class AbstractAuthenticationFilterConfigurer<B extends HttpSecurityBuilder<B>, T extends AbstractAuthenticationFilterConfigurer<B, T, F>, F extends AbstractAuthenticationProcessingFilter>
extends AbstractHttpConfigurer<T, B> {
private final F authFilter;
private F authFilter;
private AuthenticationDetailsSource<HttpServletRequest, ?> authenticationDetailsSource;
@ -80,6 +79,13 @@ public abstract class AbstractAuthenticationFilterConfigurer<B extends HttpSecur
private String failureUrl;
/**
* Creates a new instance with minimal defaults
*/
protected AbstractAuthenticationFilterConfigurer() {
setLoginPage("/login");
}
/**
* Creates a new instance
* @param authenticationFilter the {@link AbstractAuthenticationProcessingFilter} to
@ -89,8 +95,8 @@ public abstract class AbstractAuthenticationFilterConfigurer<B extends HttpSecur
*/
protected AbstractAuthenticationFilterConfigurer(F authenticationFilter,
String defaultLoginProcessingUrl) {
this();
this.authFilter = authenticationFilter;
setLoginPage("/login");
if (defaultLoginProcessingUrl != null) {
loginProcessingUrl(defaultLoginProcessingUrl);
}
@ -321,12 +327,21 @@ public abstract class AbstractAuthenticationFilterConfigurer<B extends HttpSecur
/**
* Gets the Authentication Filter
*
* @return
* @return the Authentication Filter
*/
protected final F getAuthenticationFilter() {
return authFilter;
}
/**
* Sets the Authentication Filter
*
* @param authFilter the Authentication Filter
*/
protected final void setAuthenticationFilter(F authFilter) {
this.authFilter = authFilter;
}
/**
* Gets the login page
*