Search in sources :

Example 6 with AuthenticationManagerBuilder

use of org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder in project spring-security by spring-projects.

the class AuthenticationConfiguration method getAuthenticationManager.

public AuthenticationManager getAuthenticationManager() throws Exception {
    if (this.authenticationManagerInitialized) {
        return this.authenticationManager;
    }
    AuthenticationManagerBuilder authBuilder = this.applicationContext.getBean(AuthenticationManagerBuilder.class);
    if (this.buildingAuthenticationManager.getAndSet(true)) {
        return new AuthenticationManagerDelegator(authBuilder);
    }
    for (GlobalAuthenticationConfigurerAdapter config : this.globalAuthConfigurers) {
        authBuilder.apply(config);
    }
    this.authenticationManager = authBuilder.build();
    if (this.authenticationManager == null) {
        this.authenticationManager = getAuthenticationManagerBean();
    }
    this.authenticationManagerInitialized = true;
    return this.authenticationManager;
}
Also used : AuthenticationManagerBuilder(org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder)

Example 7 with AuthenticationManagerBuilder

use of org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder in project spring-security by spring-projects.

the class AuthenticationConfigurationTests method getAuthenticationManagerWhenAuthenticationConfigurationSubclassedThenBuildsUsingBean.

@Test
public void getAuthenticationManagerWhenAuthenticationConfigurationSubclassedThenBuildsUsingBean() throws Exception {
    this.spring.register(AuthenticationConfigurationSubclass.class).autowire();
    AuthenticationManagerBuilder ap = this.spring.getContext().getBean(AuthenticationManagerBuilder.class);
    this.spring.getContext().getBean(AuthenticationConfiguration.class).getAuthenticationManager();
    assertThatExceptionOfType(AlreadyBuiltException.class).isThrownBy(ap::build);
}
Also used : AlreadyBuiltException(org.springframework.security.config.annotation.AlreadyBuiltException) AuthenticationManagerBuilder(org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder) Test(org.junit.jupiter.api.Test)

Example 8 with AuthenticationManagerBuilder

use of org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder in project spring-security by spring-projects.

the class AuthenticationManagerBuilderTests method customAuthenticationEventPublisherWithWeb.

// https://github.com/spring-projects/spring-security-javaconfig/issues/132
@Test
public void customAuthenticationEventPublisherWithWeb() throws Exception {
    ObjectPostProcessor<Object> opp = mock(ObjectPostProcessor.class);
    AuthenticationEventPublisher aep = mock(AuthenticationEventPublisher.class);
    given(opp.postProcess(any())).willAnswer((a) -> a.getArgument(0));
    AuthenticationManager am = new AuthenticationManagerBuilder(opp).authenticationEventPublisher(aep).inMemoryAuthentication().and().build();
    assertThatExceptionOfType(AuthenticationException.class).isThrownBy(() -> am.authenticate(new UsernamePasswordAuthenticationToken("user", "password")));
    verify(aep).publishAuthenticationFailure(any(), any());
}
Also used : AuthenticationManager(org.springframework.security.authentication.AuthenticationManager) AuthenticationManagerBuilder(org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder) AuthenticationException(org.springframework.security.core.AuthenticationException) AuthenticationEventPublisher(org.springframework.security.authentication.AuthenticationEventPublisher) UsernamePasswordAuthenticationToken(org.springframework.security.authentication.UsernamePasswordAuthenticationToken) Test(org.junit.jupiter.api.Test)

Example 9 with AuthenticationManagerBuilder

use of org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder in project spring-security by spring-projects.

the class AuthenticationManagerBuilderTests method buildWhenAuthenticationProviderThenIsConfigured.

@Test
public void buildWhenAuthenticationProviderThenIsConfigured() throws Exception {
    ObjectPostProcessor<Object> opp = mock(ObjectPostProcessor.class);
    AuthenticationProvider provider = mock(AuthenticationProvider.class);
    AuthenticationManagerBuilder builder = new AuthenticationManagerBuilder(opp);
    builder.authenticationProvider(provider);
    builder.build();
    assertThat(builder.isConfigured()).isTrue();
}
Also used : AuthenticationManagerBuilder(org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder) AuthenticationProvider(org.springframework.security.authentication.AuthenticationProvider) DaoAuthenticationProvider(org.springframework.security.authentication.dao.DaoAuthenticationProvider) Test(org.junit.jupiter.api.Test)

Example 10 with AuthenticationManagerBuilder

use of org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder in project cas by apereo.

the class WebAuthnStartRegistrationActionTests method verifyOperation.

@Test
public void verifyOperation() throws Exception {
    ApplicationContextProvider.holdApplicationContext(applicationContext);
    ApplicationContextProvider.registerBeanIntoApplicationContext(applicationContext, this.webAuthnMultifactorAuthenticationProvider, "webAuthnMultifactorAuthenticationProvider");
    val context = new MockRequestContext();
    val request = new MockHttpServletRequest();
    val response = new MockHttpServletResponse();
    context.setExternalContext(new ServletExternalContext(new MockServletContext(), request, response));
    WebUtils.putMultifactorAuthenticationProviderIdIntoFlowScope(context, webAuthnMultifactorAuthenticationProvider);
    RequestContextHolder.setRequestContext(context);
    ExternalContextHolder.setExternalContext(context.getExternalContext());
    WebUtils.putAuthentication(RegisteredServiceTestUtils.getAuthentication(), context);
    assertNotNull(webAuthnStartRegistrationAction);
    assertNull(webAuthnStartRegistrationAction.execute(context));
    assertTrue(context.getFlowScope().contains(WebAuthnStartRegistrationAction.FLOW_SCOPE_WEB_AUTHN_APPLICATION_ID));
    assertTrue(context.getFlowScope().contains("displayName"));
    val http = new HttpSecurity(mock(ObjectPostProcessor.class), new AuthenticationManagerBuilder(mock(ObjectPostProcessor.class)), Map.of());
    assertNotNull(webAuthnProtocolEndpointConfigurer.configure(http));
    assertNotNull(http.getConfigurer(CsrfConfigurer.class));
}
Also used : lombok.val(lombok.val) CsrfConfigurer(org.springframework.security.config.annotation.web.configurers.CsrfConfigurer) HttpSecurity(org.springframework.security.config.annotation.web.builders.HttpSecurity) ObjectPostProcessor(org.springframework.security.config.annotation.ObjectPostProcessor) AuthenticationManagerBuilder(org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder) MockHttpServletRequest(org.springframework.mock.web.MockHttpServletRequest) ServletExternalContext(org.springframework.webflow.context.servlet.ServletExternalContext) MockRequestContext(org.springframework.webflow.test.MockRequestContext) MockHttpServletResponse(org.springframework.mock.web.MockHttpServletResponse) MockServletContext(org.springframework.mock.web.MockServletContext) Test(org.junit.jupiter.api.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Aggregations

AuthenticationManagerBuilder (org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder)22 Test (org.junit.jupiter.api.Test)7 Bean (org.springframework.context.annotation.Bean)6 HttpSecurity (org.springframework.security.config.annotation.web.builders.HttpSecurity)5 Autowired (org.springframework.beans.factory.annotation.Autowired)4 AuthenticationProvider (org.springframework.security.authentication.AuthenticationProvider)4 Collection (java.util.Collection)3 List (java.util.List)3 Collectors (java.util.stream.Collectors)3 Logger (org.slf4j.Logger)3 LoggerFactory (org.slf4j.LoggerFactory)3 Configuration (org.springframework.context.annotation.Configuration)3 Profile (org.springframework.context.annotation.Profile)3 ConfigurableEnvironment (org.springframework.core.env.ConfigurableEnvironment)3 HttpMethod (org.springframework.http.HttpMethod)3 DefaultSpringSecurityContextSource (org.springframework.security.ldap.DefaultSpringSecurityContextSource)3 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)2 EventManager (io.gravitee.common.event.EventManager)2 IdentityProvider (io.gravitee.rest.api.idp.api.IdentityProvider)2 IdentityProviderManager (io.gravitee.rest.api.idp.core.plugin.IdentityProviderManager)2