Почему мой провайдер аутентификации не достигнут? - PullRequest
0 голосов
/ 22 января 2020

У меня есть защищенное приложение Spring, в котором я настроил следующее:

public static class SecurityConfiguration extends WebSecurityConfigurerAdapter {
    ...
    protected void configure(HttpSecurity http) throws Exception {
        http.cors().and().csrf().disable()
                .authenticationProvider(myCustomProvider)
                .authorizeRequests()
                .anyRequest().authenticated();
    }
}

myCustomProvider автоматически подключен к адаптеру и на данный момент является просто поставщиком аутентификации "hello world".

Когда я отправляю запрос конечной точке в своем приложении, я получаю 403 Запрещенный ответ, и тело ответа просто говорит «доступ запрещен». Когда я добавляю точку останова к провайдеру аутентификации, он не срабатывает.

Я вижу, что org.springframework.security.web.access.intercept.FilterSecurityInterceptor - это то, что запрещает доступ, особенно строка в AbstractSecurityInterceptor:

this.accessDecisionManager.decide(authenticated, object, attributes);

Существует один AccessDecisionVoter, который соответствует выражению WebSecurityConfigurerAdapter любой запрос аутентифицирован , как указано выше, и который голосует за отклонение запроса.

Может кто-то уточнить, почему перехватчик безопасности не ' • делегировать провайдеру аутентификации вообще, чтобы определить, следует ли удовлетворить запрос? И может ли кто-нибудь указать мне, как решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...