use of org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder in project spring-security by spring-projects.
the class AuthenticationManagerBuilderTests method buildWhenParentThenIsConfigured.
@Test
public void buildWhenParentThenIsConfigured() throws Exception {
ObjectPostProcessor<Object> opp = mock(ObjectPostProcessor.class);
AuthenticationManager parent = mock(AuthenticationManager.class);
AuthenticationManagerBuilder builder = new AuthenticationManagerBuilder(opp);
builder.parentAuthenticationManager(parent);
builder.build();
assertThat(builder.isConfigured()).isTrue();
}
use of org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder in project credhub by cloudfoundry-incubator.
the class OAuth2Configuration method authenticationManagerBuilder.
@Bean
public AuthenticationManagerBuilder authenticationManagerBuilder() {
final ObjectPostProcessor<Object> objectPostProcessor = new ObjectPostProcessor<Object>() {
@Override
public <O extends Object> O postProcess(O object) {
return object;
}
};
final AuthenticationManagerBuilder authenticationManagerBuilder = new AuthenticationManagerBuilder(objectPostProcessor);
authenticationManagerBuilder.parentAuthenticationManager(authenticationManager());
return authenticationManagerBuilder;
}
use of org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder in project shinyproxy by openanalytics.
the class LDAPAuthenticationBackend method configureAuthenticationManagerBuilder.
@Override
public void configureAuthenticationManagerBuilder(AuthenticationManagerBuilder auth) throws Exception {
LDAPProviderConfig[] configs = LDAPProviderConfig.loadAll(environment);
for (LDAPProviderConfig cfg : configs) {
LdapAuthenticationProviderConfigurer<AuthenticationManagerBuilder> configurer = new LdapAuthenticationProviderConfigurer<>();
String[] userDnPatterns = { cfg.userDnPattern };
if (userDnPatterns[0] == null || userDnPatterns[0].isEmpty())
userDnPatterns = new String[0];
if (cfg.managerDn != null && cfg.managerDn.isEmpty())
cfg.managerDn = null;
// Manually instantiate contextSource so it can be passed into authoritiesPopulator below.
DefaultSpringSecurityContextSource contextSource = new DefaultSpringSecurityContextSource(cfg.url);
if (cfg.managerDn != null) {
contextSource.setUserDn(cfg.managerDn);
contextSource.setPassword(cfg.managerPassword);
}
if (Boolean.valueOf(cfg.startTLS) || STARTTLS_SIMPLE.equalsIgnoreCase(cfg.startTLS)) {
// Explicitly disable connection pooling, or Spring may attempt to StartTLS twice on the same connection.
contextSource.setPooled(false);
contextSource.setAuthenticationStrategy(new DefaultTlsDirContextAuthenticationStrategy());
} else if (STARTTLS_EXTERNAL.equalsIgnoreCase(cfg.startTLS)) {
contextSource.setAuthenticationStrategy(new ExternalTlsDirContextAuthenticationStrategy());
}
contextSource.afterPropertiesSet();
// Manually instantiate authoritiesPopulator because it uses a customized class.
CNLdapAuthoritiesPopulator authoritiesPopulator = new CNLdapAuthoritiesPopulator(contextSource, cfg.groupSearchBase);
authoritiesPopulator.setGroupRoleAttribute("cn");
authoritiesPopulator.setGroupSearchFilter(cfg.groupSearchFilter);
configurer.userDnPatterns(userDnPatterns).userSearchBase(cfg.userSearchBase).userSearchFilter(cfg.userSearchFilter).ldapAuthoritiesPopulator(authoritiesPopulator).contextSource(contextSource).configure(auth);
}
}
use of org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder in project spring-security-oauth by spring-projects.
the class AuthorizationServerSecurityConfigurer method init.
@Override
public void init(HttpSecurity http) throws Exception {
registerDefaultAuthenticationEntryPoint(http);
AuthenticationManagerBuilder builder = http.getSharedObject(AuthenticationManagerBuilder.class);
if (authenticationEventPublisher != null) {
builder.authenticationEventPublisher(authenticationEventPublisher);
}
if (authenticationProviders.isEmpty()) {
if (passwordEncoder != null) {
builder.userDetailsService(new ClientDetailsUserDetailsService(clientDetailsService())).passwordEncoder(passwordEncoder());
} else {
builder.userDetailsService(new ClientDetailsUserDetailsService(clientDetailsService()));
}
} else {
for (AuthenticationProvider provider : authenticationProviders) {
builder.authenticationProvider(provider);
}
}
http.securityContext().securityContextRepository(new NullSecurityContextRepository()).and().csrf().disable().httpBasic().authenticationEntryPoint(this.authenticationEntryPoint).realmName(realm);
if (sslOnly) {
http.requiresChannel().anyRequest().requiresSecure();
}
}
use of org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder in project gravitee-management-rest-api by gravitee-io.
the class BasicSecurityConfigurerAdapter method configure.
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
LOGGER.info("--------------------------------------------------------------");
LOGGER.info("Management API BasicSecurity Config");
LOGGER.info("Loading authentication identity providers for Basic authentication");
List<io.gravitee.rest.api.security.authentication.AuthenticationProvider> providers = authenticationProviderManager.getIdentityProviders().stream().filter(authenticationProvider -> !authenticationProvider.external()).collect(Collectors.toList());
for (io.gravitee.rest.api.security.authentication.AuthenticationProvider provider : providers) {
LOGGER.info("Loading authentication provider of type {} at position {}", provider.type(), provider.index());
boolean found = false;
Collection<IdentityProvider> identityProviders = identityProviderManager.getAll();
for (IdentityProvider identityProvider : identityProviders) {
if (identityProvider.type().equalsIgnoreCase(provider.type())) {
AuthenticationProvider authenticationProviderPlugin = identityProviderManager.loadIdentityProvider(identityProvider.type(), provider.configuration());
if (authenticationProviderPlugin != null) {
Object authenticationProvider = authenticationProviderPlugin.configure();
if (authenticationProvider instanceof org.springframework.security.authentication.AuthenticationProvider) {
auth.authenticationProvider((org.springframework.security.authentication.AuthenticationProvider) authenticationProvider);
} else if (authenticationProvider instanceof SecurityConfigurer) {
auth.apply((SecurityConfigurer) authenticationProvider);
}
found = true;
break;
}
}
}
if (!found) {
LOGGER.error("No authentication provider found for type: {}", provider.type());
}
}
LOGGER.info("--------------------------------------------------------------");
}
Aggregations