Конфигурация Java Spring-Security: Как настроить несколько экземпляров AuthenticationManager
Я использую:
пружинный башмак: 1.1.7Spring-Security: 4.0.0.M2spring-fmk: 4.1.1. РЕЛИЗВсе настроено с помощью Java Config (включая spring-security)
Я работаю над проектом веб-сервера, где Authentication: Basic base64Gibberish header используется для аутентификации пользователей.
Проблема в том, что в зависимости от URIAuthenticationManager
отличается (потому что мне нужно 2 разныхUserDetailsService
.
Я пробовал несколько расширенийWebSecurityConfigurerAdapter
с
@Override
@Bean( name = "authManager1" )
public AuthenticationManager authenticationManagerBean() throws Exception
@Override
@Bean( name = "authManager2" )
public AuthenticationManager authenticationManagerBean() throws Exception
но безрезультатно
Я всегда получаю:
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]
Поскольку у меня есть несколько цепочек фильтров безопасности, как я могу «сказать» Spring-Security о необходимости вставки разных AuthenticationManager в разные цепочки фильтров безопасности?
Заранее спасибо П.