Я использовал поставщиков аутентификации в Spring Security. У меня есть два провайдера аутентификации: LocalAuthenticationProvider
и RemoteAuthenticationProvider
. Поток аутентификации является то, чтоSpring Security вызывает другого провайдера аутентификации, даже первый провайдер не работает
- приложение проверяет учетные данные в локальной БД
- если локальная аутентификация прошла успешно, необходимо вызвать
RESTful
веб-службы для проверки подлинности верительных данных. - если локальная аутентификация не удалась, предположим, что ошибка не выполнена и ответ
401
.
@Override protected void configure( AuthenticationManagerBuilder auth) throws Exception { auth.authenticationProvider(localProvider).authenticationProvider(remoteProvider); }
LocalAuthenticationProvider
бросает AuthenticationException
, если полномочие не удалось. Если учетные данные: passed
, он возвращает null
.
Моя проблема связана с Spring Security Framework RemoteAuthenticationProvider
даже LocalAuthenticationProvider
is failed
.
Когда я удалить RemoteAuthenticationProvider
из AuthenticationManagerBuilder
списка поставщиков, он работает даже LocalAuthenticationProvider
является failed
.
Я хотел бы знать, как я могу достичь этого потока аутентификации. Эти два поставщика зависят друг от друга.