クラス RSocketSecurity


  • public class RSocketSecurity
    extends java.lang.Object
    RSocket ベースのセキュリティを設定できます。最小限の例を以下に示します。
     @EnableRSocketSecurity
     public class SecurityConfig {
         @Bean
         PayloadSocketAcceptorInterceptor rsocketInterceptor(RSocketSecurity rsocket) {
             rsocket
                 .authorizePayload((authorize) ->
                     authorize
                         .anyRequest().authenticated()
                 );
             return rsocket.build();
         }
    
         @Bean
         public MapReactiveUserDetailsService userDetailsService() {
              UserDetails user = User.withDefaultPasswordEncoder()
                   .username("user")
                   .password("password")
                   .roles("USER")
                   .build();
              return new MapReactiveUserDetailsService(user);
         }
     }
     
    より高度な構成を以下に示します。
     @EnableRSocketSecurity
     public class SecurityConfig {
         @Bean
         PayloadSocketAcceptorInterceptor rsocketInterceptor(RSocketSecurity rsocket) {
             rsocket
                 .authorizePayload((authorize) ->
                     authorize
                         // must have ROLE_SETUP to make connection
                         .setup().hasRole("SETUP")
                          // must have ROLE_ADMIN for routes starting with "admin."
                         .route("admin.*").hasRole("ADMIN")
                         // any other request must be authenticated for
                         .anyRequest().authenticated()
                 );
             return rsocket.build();
         }
     }
     
    導入:
    5.2