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;
}
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);
}
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());
}
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();
}
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));
}
Aggregations