简体   繁体   中英

Spring webflux Security - Disable csrf with property

I have a Spring WebFlux security as follows and would like to control CSRF using property. How can I add if check for the CSRF alone here?

@Bean
public SecurityWebFilterChain securitygWebFilterChain(ServerHttpSecurity http) {
    return http.authorizeExchange().matchers(PathRequest.toStaticResources().atCommonLocations()).permitAll()
        //.pathMatchers("/register", "/login").permitAll()
        .anyExchange().authenticated()
        .and().formLogin()
        .securityContextRepository(securityContextRepository())
        .and()
        .exceptionHandling()
        .accessDeniedHandler(new HttpStatusServerAccessDeniedHandler(HttpStatus.BAD_REQUEST))
        .and().csrf().disable()
        .build();
}

you just add something like:

// All your stuff up here then

if(!csrfEnabled) {
    http.csrf().disable();
}

return http.build();

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM