アノテーションインターフェース 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}) 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