Spring Boot Security: Как запустить фильтр проверки подлинности перед CSRF в Spring Boot? - PullRequest
0 голосов
/ 29 апреля 2020

Я всегда получаю несанкционированный доступ при входе в систему.

При входе в систему мне нужно аутентифицировать пользователя, а также генерировать токен CSRF на основе токена JWT, сгенерированного из учетных данных пользователя.

У меня есть CsrfCookieGeneratorFilter, но мне нужно передать JWT, сгенерированный после успешной аутентификации. Мой текущий код всегда выполняет CsrfFilterfirst и после этого запускает аутентификацию.

Итак, сначала аутентификация, а затем CsrfCookieGeneraterFilter.

Кто-нибудь может подсказать, как добиться этого с помощью следующего компоновщика (я новичок в этой реализации безопасности в Spring)

Ниже приведен код, который я пытаюсь:

httpSecurity
            .authorizeRequests().antMatchers("/login").permitAll()            
            .anyRequest().authenticated()
            .and()
            .csrf()     
            .requireCsrfProtectionMatcher(csrfRequestMatcher)
            .csrfTokenRepository(customCsrfTokenRepository)
            .and()            
            .cors()
            .and()
            .sessionManagement()
            .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
            .and()
            .exceptionHandling()
            .authenticationEntryPoint(this.jwtAuthenticationEntryPoint);



       httpSecurity.addFilterAt(new CsrfCookieGeneratorFilter(customCsrfTokenRepository), CsrfFilter.class);
       httpSecurity.addFilterBefore(jwtRequestFilter, UsernamePasswordAuthenticationFilter.class);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...