Browse Source

Update websocket integration docs

ReGius-igmt 1 year ago
parent
commit
4a9a350ed0
1 changed files with 14 additions and 7 deletions
  1. 14 7
      docs/modules/ROOT/pages/servlet/integrations/websocket.adoc

+ 14 - 7
docs/modules/ROOT/pages/servlet/integrations/websocket.adoc

@@ -365,6 +365,15 @@ Java::
 @Configuration
 @Configuration
 public class WebSocketSecurityConfig implements WebSocketMessageBrokerConfigurer {
 public class WebSocketSecurityConfig implements WebSocketMessageBrokerConfigurer {
 
 
+    private final ApplicationContext applicationContext;
+
+    private final AuthorizationManager<Message<?>> authorizationManager;
+    
+    public WebSocketSecurityConfig(ApplicationContext applicationContext, AuthorizationManager<Message<?>> authorizationManager) {
+        this.applicationContext = applicationContext;
+        this.authorizationManager = authorizationManager;
+    }
+
     @Override
     @Override
     public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
     public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
         argumentResolvers.add(new AuthenticationPrincipalArgumentResolver());
         argumentResolvers.add(new AuthenticationPrincipalArgumentResolver());
@@ -372,9 +381,8 @@ public class WebSocketSecurityConfig implements WebSocketMessageBrokerConfigurer
 
 
     @Override
     @Override
     public void configureClientInboundChannel(ChannelRegistration registration) {
     public void configureClientInboundChannel(ChannelRegistration registration) {
-        AuthorizationManager<Message<?>> myAuthorizationRules = AuthenticatedAuthorizationManager.authenticated();
-        AuthorizationChannelInterceptor authz = new AuthorizationChannelInterceptor(myAuthorizationRules);
-        AuthorizationEventPublisher publisher = new SpringAuthorizationEventPublisher(this.context);
+        AuthorizationChannelInterceptor authz = new AuthorizationChannelInterceptor(authorizationManager);
+        AuthorizationEventPublisher publisher = new SpringAuthorizationEventPublisher(applicationContext);
         authz.setAuthorizationEventPublisher(publisher);
         authz.setAuthorizationEventPublisher(publisher);
         registration.interceptors(new SecurityContextChannelInterceptor(), authz);
         registration.interceptors(new SecurityContextChannelInterceptor(), authz);
     }
     }
@@ -386,7 +394,7 @@ Kotlin::
 [source,kotlin,role="secondary"]
 [source,kotlin,role="secondary"]
 ----
 ----
 @Configuration
 @Configuration
-open class WebSocketSecurityConfig : WebSocketMessageBrokerConfigurer {
+open class WebSocketSecurityConfig(val applicationContext: ApplicationContext, val authorizationManager: AuthorizationManager<Message<*>>) : WebSocketMessageBrokerConfigurer {
     @Override
     @Override
     override fun addArgumentResolvers(argumentResolvers: List<HandlerMethodArgumentResolver>) {
     override fun addArgumentResolvers(argumentResolvers: List<HandlerMethodArgumentResolver>) {
         argumentResolvers.add(AuthenticationPrincipalArgumentResolver())
         argumentResolvers.add(AuthenticationPrincipalArgumentResolver())
@@ -394,9 +402,8 @@ open class WebSocketSecurityConfig : WebSocketMessageBrokerConfigurer {
 
 
     @Override
     @Override
     override fun configureClientInboundChannel(registration: ChannelRegistration) {
     override fun configureClientInboundChannel(registration: ChannelRegistration) {
-        var myAuthorizationRules: AuthorizationManager<Message<*>> = AuthenticatedAuthorizationManager.authenticated()
-        var authz: AuthorizationChannelInterceptor = AuthorizationChannelInterceptor(myAuthorizationRules)
-        var publisher: AuthorizationEventPublisher = SpringAuthorizationEventPublisher(this.context)
+        var authz: AuthorizationChannelInterceptor = AuthorizationChannelInterceptor(authorizationManager)
+        var publisher: AuthorizationEventPublisher = SpringAuthorizationEventPublisher(applicationContext)
         authz.setAuthorizationEventPublisher(publisher)
         authz.setAuthorizationEventPublisher(publisher)
         registration.interceptors(SecurityContextChannelInterceptor(), authz)
         registration.interceptors(SecurityContextChannelInterceptor(), authz)
     }
     }