Пользовательский фильтр Spring Security вызывается дважды для REST Controller - PullRequest
0 голосов
/ 02 апреля 2020

Я реализовал собственный Spring Security Filter, чтобы иметь собственную систему аутентификации. Это прекрасно работает.

Для настройки моего фильтра я использовал эту конфигурацию:

@Override
protected void configure(HttpSecurity http) throws Exception {


    http.antMatcher("/api/**")
            .csrf()
            .disable()
            .headers()
            .frameOptions()
            .disable()
            .and()
            .sessionManagement()
            .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
            .and()
            .authorizeRequests()
            .antMatchers("/api/**")
            .authenticated().and().addFilterBefore(new MyTokenAuthFilter(), AbstractPreAuthenticatedProcessingFilter.class);

Если я попытаюсь установить точку останова в этом фильтре, я вижу, что метод doFilterInternal будет вызываться дважды для каждого Запрос REST. Странно .. Есть предложения?

1 Ответ

0 голосов
/ 06 апреля 2020

Для тех, кто сталкивается с этой проблемой, я нашел причину:

Я объявил свой пользовательский фильтр как @Component.

В этом нет необходимости, и это приведет к регистрации двойного фильтра в моем случае.

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