mirror of
https://github.com/spring-projects/spring-security.git
synced 2025-07-08 03:32:39 +00:00
SEC-2257: Remove HttpSecurityBuilder#getAuthenticationManager()
Removed in favor of using shared object.
This commit is contained in:
parent
8b1ab4e85f
commit
110e769bd4
@ -171,7 +171,4 @@ public interface HttpSecurityBuilder<H extends HttpSecurityBuilder<H>> extends S
|
|||||||
* @return the {@link HttpSecurity} for further customizations
|
* @return the {@link HttpSecurity} for further customizations
|
||||||
*/
|
*/
|
||||||
H addFilter(Filter filter);
|
H addFilter(Filter filter);
|
||||||
|
|
||||||
// FIXME shared object or explicit?
|
|
||||||
AuthenticationManager getAuthenticationManager();
|
|
||||||
}
|
}
|
@ -112,8 +112,6 @@ import org.springframework.util.Assert;
|
|||||||
* @see EnableWebSecurity
|
* @see EnableWebSecurity
|
||||||
*/
|
*/
|
||||||
public final class HttpSecurity extends AbstractConfiguredSecurityBuilder<DefaultSecurityFilterChain,HttpSecurity> implements SecurityBuilder<DefaultSecurityFilterChain>, HttpSecurityBuilder<HttpSecurity> {
|
public final class HttpSecurity extends AbstractConfiguredSecurityBuilder<DefaultSecurityFilterChain,HttpSecurity> implements SecurityBuilder<DefaultSecurityFilterChain>, HttpSecurityBuilder<HttpSecurity> {
|
||||||
private AuthenticationManager authenticationManager;
|
|
||||||
|
|
||||||
private final RequestMatcherConfigurer requestMatcherConfigurer = new RequestMatcherConfigurer();
|
private final RequestMatcherConfigurer requestMatcherConfigurer = new RequestMatcherConfigurer();
|
||||||
private List<Filter> filters = new ArrayList<Filter>();
|
private List<Filter> filters = new ArrayList<Filter>();
|
||||||
private RequestMatcher requestMatcher = new AnyRequestMatcher();
|
private RequestMatcher requestMatcher = new AnyRequestMatcher();
|
||||||
@ -984,7 +982,7 @@ public final class HttpSecurity extends AbstractConfiguredSecurityBuilder<Defaul
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void beforeConfigure() throws Exception {
|
protected void beforeConfigure() throws Exception {
|
||||||
this.authenticationManager = getAuthenticationRegistry().build();
|
setSharedObject(AuthenticationManager.class,getAuthenticationRegistry().build());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -1222,14 +1220,6 @@ public final class HttpSecurity extends AbstractConfiguredSecurityBuilder<Defaul
|
|||||||
return requestMatcher(new RegexRequestMatcher(pattern, null));
|
return requestMatcher(new RegexRequestMatcher(pattern, null));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
* @see org.springframework.security.config.annotation.web.HttpBuilder#getAuthenticationManager()
|
|
||||||
*/
|
|
||||||
public AuthenticationManager getAuthenticationManager() {
|
|
||||||
return authenticationManager;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Allows mapping HTTP requests that this {@link HttpSecurity} will be used for
|
* Allows mapping HTTP requests that this {@link HttpSecurity} will be used for
|
||||||
*
|
*
|
||||||
|
@ -19,6 +19,7 @@ import javax.servlet.http.HttpServletRequest;
|
|||||||
|
|
||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
import org.springframework.security.authentication.AuthenticationDetailsSource;
|
import org.springframework.security.authentication.AuthenticationDetailsSource;
|
||||||
|
import org.springframework.security.authentication.AuthenticationManager;
|
||||||
import org.springframework.security.config.annotation.web.HttpSecurityBuilder;
|
import org.springframework.security.config.annotation.web.HttpSecurityBuilder;
|
||||||
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
|
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
|
||||||
import org.springframework.security.config.annotation.web.configurers.openid.OpenIDLoginConfigurer;
|
import org.springframework.security.config.annotation.web.configurers.openid.OpenIDLoginConfigurer;
|
||||||
@ -245,7 +246,7 @@ public abstract class AbstractAuthenticationFilterConfigurer<B extends HttpSecu
|
|||||||
authenticationEntryPoint.setPortMapper(portMapper);
|
authenticationEntryPoint.setPortMapper(portMapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
authFilter.setAuthenticationManager(http.getAuthenticationManager());
|
authFilter.setAuthenticationManager(http.getSharedObject(AuthenticationManager.class));
|
||||||
authFilter.setAuthenticationSuccessHandler(successHandler);
|
authFilter.setAuthenticationSuccessHandler(successHandler);
|
||||||
authFilter.setAuthenticationFailureHandler(failureHandler);
|
authFilter.setAuthenticationFailureHandler(failureHandler);
|
||||||
if(authenticationDetailsSource != null) {
|
if(authenticationDetailsSource != null) {
|
||||||
|
@ -102,7 +102,7 @@ abstract class AbstractInterceptUrlConfigurer<H extends HttpSecurityBuilder<H>,C
|
|||||||
if(metadataSource == null) {
|
if(metadataSource == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
FilterSecurityInterceptor securityInterceptor = createFilterSecurityInterceptor(metadataSource, http.getAuthenticationManager());
|
FilterSecurityInterceptor securityInterceptor = createFilterSecurityInterceptor(metadataSource, http.getSharedObject(AuthenticationManager.class));
|
||||||
if(filterSecurityInterceptorOncePerRequest != null) {
|
if(filterSecurityInterceptorOncePerRequest != null) {
|
||||||
securityInterceptor.setObserveOncePerRequest(filterSecurityInterceptorOncePerRequest);
|
securityInterceptor.setObserveOncePerRequest(filterSecurityInterceptorOncePerRequest);
|
||||||
}
|
}
|
||||||
|
@ -56,11 +56,7 @@ import org.springframework.util.StringUtils;
|
|||||||
*
|
*
|
||||||
* <h2>Shared Objects Used</h2>
|
* <h2>Shared Objects Used</h2>
|
||||||
*
|
*
|
||||||
* The following shared objects are used:
|
* No shared objects are used.
|
||||||
*
|
|
||||||
* <ul>
|
|
||||||
* <li>{@link org.springframework.security.config.annotation.web.builders.HttpSecurity#getAuthenticationManager()}</li>
|
|
||||||
* </ul>
|
|
||||||
*
|
*
|
||||||
* @param <H> the type of {@link HttpSecurityBuilder} that is being configured
|
* @param <H> the type of {@link HttpSecurityBuilder} that is being configured
|
||||||
*
|
*
|
||||||
|
@ -54,7 +54,7 @@ import org.springframework.security.web.util.RequestMatcher;
|
|||||||
* The following shared objects are used:
|
* The following shared objects are used:
|
||||||
*
|
*
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>{@link HttpSecurity#getAuthenticationManager()}</li>
|
* <li>{@link AuthenticationManager}</li>
|
||||||
* <li>{@link RememberMeServices} - is optionally used. See {@link RememberMeConfigurer}</li>
|
* <li>{@link RememberMeServices} - is optionally used. See {@link RememberMeConfigurer}</li>
|
||||||
* <li>{@link SessionAuthenticationStrategy} - is optionally used. See {@link SessionManagementConfigurer}</li>
|
* <li>{@link SessionAuthenticationStrategy} - is optionally used. See {@link SessionManagementConfigurer}</li>
|
||||||
* <li>{@link DefaultLoginPageViewFilter} - if present will be populated with information from the configuration</li>
|
* <li>{@link DefaultLoginPageViewFilter} - if present will be populated with information from the configuration</li>
|
||||||
|
@ -59,7 +59,7 @@ import org.springframework.web.accept.HeaderContentNegotiationStrategy;
|
|||||||
* The following shared objects are used:
|
* The following shared objects are used:
|
||||||
*
|
*
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>{@link HttpSecurity#getAuthenticationManager()}</li>
|
* <li>{@link AuthenticationManager}</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*
|
*
|
||||||
* @author Rob Winch
|
* @author Rob Winch
|
||||||
@ -145,7 +145,7 @@ public final class HttpBasicConfigurer<B extends HttpSecurityBuilder<B>> extends
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void configure(B http) throws Exception {
|
public void configure(B http) throws Exception {
|
||||||
AuthenticationManager authenticationManager = http.getAuthenticationManager();
|
AuthenticationManager authenticationManager = http.getSharedObject(AuthenticationManager.class);
|
||||||
BasicAuthenticationFilter basicAuthenticationFilter = new BasicAuthenticationFilter(authenticationManager, authenticationEntryPoint);
|
BasicAuthenticationFilter basicAuthenticationFilter = new BasicAuthenticationFilter(authenticationManager, authenticationEntryPoint);
|
||||||
if(authenticationDetailsSource != null) {
|
if(authenticationDetailsSource != null) {
|
||||||
basicAuthenticationFilter.setAuthenticationDetailsSource(authenticationDetailsSource);
|
basicAuthenticationFilter.setAuthenticationDetailsSource(authenticationDetailsSource);
|
||||||
|
@ -62,7 +62,7 @@ import org.springframework.security.web.authentication.preauth.j2ee.J2eePreAuthe
|
|||||||
* The following shared objects are used:
|
* The following shared objects are used:
|
||||||
*
|
*
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>{@link HttpSecurity#getAuthenticationManager()}</li>
|
* <li>{@link AuthenticationManager}</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*
|
*
|
||||||
* @author Rob Winch
|
* @author Rob Winch
|
||||||
@ -204,8 +204,7 @@ public final class JeeConfigurer<H extends HttpSecurityBuilder<H>> extends Abstr
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void configure(H http) throws Exception {
|
public void configure(H http) throws Exception {
|
||||||
J2eePreAuthenticatedProcessingFilter filter = getFilter(http
|
J2eePreAuthenticatedProcessingFilter filter = getFilter(http.getSharedObject(AuthenticationManager.class));
|
||||||
.getAuthenticationManager());
|
|
||||||
http.addFilter(filter);
|
http.addFilter(filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@ package org.springframework.security.config.annotation.web.configurers;
|
|||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import org.springframework.security.authentication.AuthenticationManager;
|
||||||
import org.springframework.security.authentication.RememberMeAuthenticationProvider;
|
import org.springframework.security.authentication.RememberMeAuthenticationProvider;
|
||||||
import org.springframework.security.config.annotation.web.HttpSecurityBuilder;
|
import org.springframework.security.config.annotation.web.HttpSecurityBuilder;
|
||||||
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
||||||
@ -64,7 +65,7 @@ import org.springframework.security.web.authentication.ui.DefaultLoginPageViewFi
|
|||||||
* The following shared objects are used:
|
* The following shared objects are used:
|
||||||
*
|
*
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>{@link HttpSecurity#getAuthenticationManager()}</li>
|
* <li>{@link AuthenticationManager}</li>
|
||||||
* <li>{@link UserDetailsService} if no {@link #userDetailsService(UserDetailsService)} was specified.</li>
|
* <li>{@link UserDetailsService} if no {@link #userDetailsService(UserDetailsService)} was specified.</li>
|
||||||
* <li> {@link DefaultLoginPageViewFilter} - if present will be populated with information from the configuration</li>
|
* <li> {@link DefaultLoginPageViewFilter} - if present will be populated with information from the configuration</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
@ -210,7 +211,7 @@ public final class RememberMeConfigurer<H extends HttpSecurityBuilder<H>> extend
|
|||||||
@Override
|
@Override
|
||||||
public void configure(H http) throws Exception {
|
public void configure(H http) throws Exception {
|
||||||
RememberMeAuthenticationFilter rememberMeFilter = new RememberMeAuthenticationFilter(
|
RememberMeAuthenticationFilter rememberMeFilter = new RememberMeAuthenticationFilter(
|
||||||
http.getAuthenticationManager(), rememberMeServices);
|
http.getSharedObject(AuthenticationManager.class), rememberMeServices);
|
||||||
if (authenticationSuccessHandler != null) {
|
if (authenticationSuccessHandler != null) {
|
||||||
rememberMeFilter
|
rememberMeFilter
|
||||||
.setAuthenticationSuccessHandler(authenticationSuccessHandler);
|
.setAuthenticationSuccessHandler(authenticationSuccessHandler);
|
||||||
|
@ -19,6 +19,7 @@ import java.util.List;
|
|||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
|
import org.springframework.security.authentication.AuthenticationManager;
|
||||||
import org.springframework.security.config.annotation.web.HttpSecurityBuilder;
|
import org.springframework.security.config.annotation.web.HttpSecurityBuilder;
|
||||||
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
||||||
import org.springframework.security.core.context.SecurityContext;
|
import org.springframework.security.core.context.SecurityContext;
|
||||||
@ -67,7 +68,7 @@ public final class ServletApiConfigurer<H extends HttpSecurityBuilder<H>> extend
|
|||||||
@Override
|
@Override
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public void configure(H http) throws Exception {
|
public void configure(H http) throws Exception {
|
||||||
securityContextRequestFilter.setAuthenticationManager(http.getAuthenticationManager());
|
securityContextRequestFilter.setAuthenticationManager(http.getSharedObject(AuthenticationManager.class));
|
||||||
ExceptionHandlingConfigurer<H> exceptionConf = http.getConfigurer(ExceptionHandlingConfigurer.class);
|
ExceptionHandlingConfigurer<H> exceptionConf = http.getConfigurer(ExceptionHandlingConfigurer.class);
|
||||||
AuthenticationEntryPoint authenticationEntryPoint = exceptionConf == null ? null : exceptionConf.getAuthenticationEntryPoint(http);
|
AuthenticationEntryPoint authenticationEntryPoint = exceptionConf == null ? null : exceptionConf.getAuthenticationEntryPoint(http);
|
||||||
securityContextRequestFilter.setAuthenticationEntryPoint(authenticationEntryPoint);
|
securityContextRequestFilter.setAuthenticationEntryPoint(authenticationEntryPoint);
|
||||||
|
@ -163,7 +163,7 @@ public final class X509Configurer<H extends HttpSecurityBuilder<H>> extends Abst
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void configure(H http) throws Exception {
|
public void configure(H http) throws Exception {
|
||||||
X509AuthenticationFilter filter = getFilter(http.getAuthenticationManager());
|
X509AuthenticationFilter filter = getFilter(http.getSharedObject(AuthenticationManager.class));
|
||||||
http.addFilter(filter);
|
http.addFilter(filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,6 +25,7 @@ import javax.servlet.http.HttpServletRequest;
|
|||||||
import org.openid4java.consumer.ConsumerException;
|
import org.openid4java.consumer.ConsumerException;
|
||||||
import org.openid4java.consumer.ConsumerManager;
|
import org.openid4java.consumer.ConsumerManager;
|
||||||
import org.springframework.security.authentication.AuthenticationDetailsSource;
|
import org.springframework.security.authentication.AuthenticationDetailsSource;
|
||||||
|
import org.springframework.security.authentication.AuthenticationManager;
|
||||||
import org.springframework.security.config.annotation.web.HttpSecurityBuilder;
|
import org.springframework.security.config.annotation.web.HttpSecurityBuilder;
|
||||||
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
||||||
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
|
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
|
||||||
@ -110,7 +111,7 @@ import org.springframework.security.web.util.RequestMatcher;
|
|||||||
* The following shared objects are used:
|
* The following shared objects are used:
|
||||||
*
|
*
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>{@link HttpSecurity#getAuthenticationManager()}</li>
|
* <li>{@link AuthenticationManager}</li>
|
||||||
* <li>{@link RememberMeServices} - is optionally used. See
|
* <li>{@link RememberMeServices} - is optionally used. See
|
||||||
* {@link RememberMeConfigurer}</li>
|
* {@link RememberMeConfigurer}</li>
|
||||||
* <li>{@link SessionAuthenticationStrategy} - is optionally used. See
|
* <li>{@link SessionAuthenticationStrategy} - is optionally used. See
|
||||||
|
Loading…
x
Reference in New Issue
Block a user