アノテーションインターフェース EnableWebFluxSecurity
@RetentionSE(RUNTIMESE)
@TargetSE(TYPESE)
@DocumentedSE
@Import({org.springframework.security.config.annotation.web.reactive.ServerHttpSecurityConfiguration.class,org.springframework.security.config.annotation.web.reactive.WebFluxSecurityConfiguration.class,org.springframework.security.config.annotation.web.reactive.ReactiveOAuth2ClientImportSelector.class,org.springframework.security.config.annotation.web.reactive.ReactiveObservationImportSelector.class})
public @interface EnableWebFluxSecurity
Spring Security WebFlux サポートを追加するには、このアノテーションを
Configuration
クラスに追加します。その後、ユーザーは 1 つ以上の ServerHttpSecurity
Bean
インスタンスを作成できます。最小構成は次のとおりです。@Configuration @EnableWebFluxSecurity public class MyMinimalSecurityConfiguration { @Bean public MapReactiveUserDetailsService userDetailsService() { UserDetails user = User.withDefaultPasswordEncoder() .username("user") .password("password") .roles("USER") .build(); return new MapReactiveUserDetailsService(user); } }以下は最小構成と同じですが、明示的に
ServerHttpSecurity
を宣言しています。@Configuration @EnableWebFluxSecurity public class MyExplicitSecurityConfiguration { @Bean public SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http) { http .authorizeExchange() .anyExchange().authenticated() .and() .httpBasic().and() .formLogin(); return http.build(); } @Bean public MapReactiveUserDetailsService userDetailsService() { UserDetails user = User.withDefaultPasswordEncoder() .username("user") .password("password") .roles("USER") .build(); return new MapReactiveUserDetailsService(user); } }
- 導入:
- 5.0