在非反应性spring应用程序中,我通常会创建一个配置类,扩展WebSecurityConfigurerAdapter
并像这样配置WebSecurity
:
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().antMatchers("/pathToIgnore");
}
如何在反应式应用程序中做到这一点?
答案 0 :(得分:2)
在用@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()
将其配置为允许从auth中排除匹配的路径,而anyExchange().authenticated()
将其配置为对所有其他请求进行身份验证。