Интеграция SAML с весенней загрузкой при входе в БД (Multiple WebSecurityConfigurerAdapter) - PullRequest
0 голосов
/ 25 февраля 2020

Я интегрирую SAML2 с моим существующим приложением, которое уже использует логин, используя базу данных с CustomAuthenticationProvider. Когда я добавляю логин SAML, то логин базы данных приложения не работает. На мой взгляд, .antMatchers("/api/authenticate").permitAll() не работает. Если я удаляю конфигурацию SAML, то логин БД работает нормально. Вот конфигурации: MultiHttpSecurityConfig , CustomAuthenticationProvider

В приведенной выше конфигурации только вход в систему SAML работает, а не вход в БД.

1 Ответ

0 голосов
/ 05 марта 2020
I solved it by using the following configuration. I created separate WebSecurityConfigurerAdapter for application login and SAML login.

    @EnableWebSecurity
    @EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
    @Import(SecurityProblemSupport.class)
    public class SecurityConfiguration extends WebSecurityConfigurerAdapter {}

Ключ - добавить @Autowired для configure () и добавить @Order (). Я не уверен, почему это работает, но ниже конфиг работал для.

    @EnableWebSecurity
    @Configuration
    @Order(1)
    public class SamlAuthConfig extends WebSecurityConfigurerAdapter {
        @Autowired
        @Override
        protected void configure(AuthenticationManagerBuilder auth) throws Exception {
            auth.authenticationProvider(customAuthenticationProvider).authenticationProvider(samlAuthenticationProvider());
         }

    }

Эта ссылка помогла мне решить эту проблему.

...