spring-security java config: So konfigurieren Sie mehrere AuthenticationManager-Instanzen

Ich benutze

spring boot: 1.1.7 spring-security: 4.0.0.M2 spring-fmk: 4.1.1.RELEASE

Alles wird mit Java Config konfiguriert (einschließlich Frühlingssicherheit)

Ich arbeite an einem Webserver-Projekt, in dem Authentifizierung: Basic base64Gibberish-Header zum Authentifizieren von Benutzern verwendet werden.

Das Problem ist, dass abhängig von der URI dieAuthenticationManager ist anders (weil ich 2 verschiedene @ braucUserDetailsService.

/ URI1 / ** => authManager1 / URI2 / ** => authManager2

Ich habe mehrere Erweiterungen von @ ausprobieWebSecurityConfigurerAdapter mit

@Override
@Bean( name = "authManager1" )
public AuthenticationManager authenticationManagerBean() throws Exception
@Override
@Bean( name = "authManager2" )
public AuthenticationManager authenticationManagerBean() throws Exception

umsons

Ich bekomme immer

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityFilterChain' 
defined in class path resource [org/springframework/security/config/annotation/web/configuration/WebSecurityConfiguration.class]: Instantiation of bean failed; 
nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: 
Factory method [public javax.servlet.Filter org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration.springSecurityFilterChain() throws java.lang.Exception] 
threw exception; nested exception is java.lang.IllegalArgumentException: 
Expecting to only find a single bean for type interface org.springframework.security.authentication.AuthenticationManager, 
but found [authManager1, authManager2]

Seit ich mehrere Sicherheitsfilterketten habe, wie kann ich spring-security anweisen, verschiedene AuthenticationManager in verschiedene Sicherheitsfilterketten einzuschleusen?

Vielen Dank im Voraus P.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage