Несколько провайдеров аутентификации - LDAP JWT Oauth2 и Basi c аутентификация в приложении Spring Boot - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть приложение Spring Boot 2.0, которое служит в качестве серверной части (предоставляет службы отдыха) для моего приложения angular.

У нас есть LDAP-аутентификация для входа в систему. Работает отлично. Мы реализовали собственный код для него, используя spring-oauth-2 и spring-ldap.

Теперь у нас есть встроенный привод. Я хочу, чтобы мои конечные точки привода были доступны в браузере через аутентификацию basi c.

Для этого я добавил реализацию WebSecurityConfigurerAdapter с @Order (1). Это хорошо работает из браузера. Тем не менее, когда я вызываю URL-адрес для входа из моего приложения angualar, он выдает 401 несанкционированную ошибку для / oauth / token url и, следовательно, я не могу войти в приложение из пользовательского интерфейса.

Любая помощь будет оценена, чтобы решить эту ошибку .

Класс:

    @Configuration
    @Order(1)
    public class FormLoginWebSecurityConfigurerAdapter extends 
          WebSecurityConfigurerAdapter {

    @Override
    protected void configure(final AuthenticationManagerBuilder auth) throws Exception {
    auth.inMemoryAuthentication().withUser("actuator") 
     .password(passwordEncoder().encode("actuator")).roles("ACTUATOR_ADMIN");
  }

    @Override
    protected void configure(final HttpSecurity http) throws Exception {
    http.antMatcher("/actuator/**").authorizeRequests().anyRequest().hasRole("ACTUATOR_ADMIN").and()
        .httpBasic();

  }

  @Bean
  public PasswordEncoder passwordEncoder() {
    return new BCryptPasswordEncoder();
  }

}

Спасибо.

...