Как исключить путь из аутентификации в реактивном приложении на основе Spring? - PullRequest
0 голосов
/ 05 сентября 2018

В приложении без реактивной пружины я обычно создаю класс конфигурации, расширяю WebSecurityConfigurerAdapter и настраиваю WebSecurity следующим образом:

@Override
public void configure(WebSecurity web) throws Exception {
    web.ignoring().antMatchers("/pathToIgnore");
}

Как я могу сделать эквивалент в реактивном приложении?

1 Ответ

0 голосов
/ 05 сентября 2018

В вашем классе конфигурации безопасности, который вы аннотировали @EnableWebFluxSecurity и @EnableReactiveMethodSecurity, зарегистрируйте bean-компонент следующим образом:

@Bean
public SecurityWebFilterChain securityWebFilterChain(ServerHttpSecurity http) {
    return http.authorizeExchange()
        .pathMatchers("/pathToIgnore")
        .permitAll()
        .anyExchange()
        .authenticated()
        .and()
        .formLogin()
        .and()
        .csrf()
        .disable()
        .build();
}

В этой конфигурации pathMatchers("/pathToIgnore").permitAll() настроит его так, чтобы разрешить исключение соответствующих путей из аутентификации, а anyExchange().authenticated() настроит его для проверки подлинности всех других запросов.

...