Class SecurityContextChannelInterceptor

  • All Implemented Interfaces:
    org.springframework.messaging.support.ChannelInterceptor, org.springframework.messaging.support.ExecutorChannelInterceptor

    public final class SecurityContextChannelInterceptor
    extends org.springframework.messaging.support.ChannelInterceptorAdapter
    implements org.springframework.messaging.support.ExecutorChannelInterceptor

    Creates a ExecutorChannelInterceptor that will obtain the Authentication from the specified Message.getHeaders().

    Since:
    4.0
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void afterMessageHandled​(org.springframework.messaging.Message<?> message, org.springframework.messaging.MessageChannel channel, org.springframework.messaging.MessageHandler handler, java.lang.Exception ex)  
      void afterSendCompletion​(org.springframework.messaging.Message<?> message, org.springframework.messaging.MessageChannel channel, boolean sent, java.lang.Exception ex)  
      org.springframework.messaging.Message<?> beforeHandle​(org.springframework.messaging.Message<?> message, org.springframework.messaging.MessageChannel channel, org.springframework.messaging.MessageHandler handler)  
      org.springframework.messaging.Message<?> preSend​(org.springframework.messaging.Message<?> message, org.springframework.messaging.MessageChannel channel)  
      void setAnonymousAuthentication​(Authentication authentication)
      Allows setting the Authentication used for anonymous authentication.
      void setSecurityContextHolderStrategy​(SecurityContextHolderStrategy strategy)  
      • Methods inherited from class org.springframework.messaging.support.ChannelInterceptorAdapter

        afterReceiveCompletion, postReceive, postSend, preReceive
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.springframework.messaging.support.ChannelInterceptor

        afterReceiveCompletion, postReceive, postSend, preReceive
    • Constructor Detail

      • SecurityContextChannelInterceptor

        public SecurityContextChannelInterceptor()
        Creates a new instance using the header of the name SimpMessageHeaderAccessor.USER_HEADER.
      • SecurityContextChannelInterceptor

        public SecurityContextChannelInterceptor​(java.lang.String authenticationHeaderName)
        Creates a new instance that uses the specified header to obtain the Authentication.
        Parameters:
        authenticationHeaderName - the header name to obtain the Authentication. Cannot be null.
    • Method Detail

      • setAnonymousAuthentication

        public void setAnonymousAuthentication​(Authentication authentication)
        Allows setting the Authentication used for anonymous authentication. Default is:
         new AnonymousAuthenticationToken("key", "anonymous",
                        AuthorityUtils.createAuthorityList("ROLE_ANONYMOUS"));
         
        Parameters:
        authentication - the Authentication used for anonymous authentication. Cannot be null.
      • preSend

        public org.springframework.messaging.Message<?> preSend​(org.springframework.messaging.Message<?> message,
                                                                org.springframework.messaging.MessageChannel channel)
        Specified by:
        preSend in interface org.springframework.messaging.support.ChannelInterceptor
        Overrides:
        preSend in class org.springframework.messaging.support.ChannelInterceptorAdapter
      • afterSendCompletion

        public void afterSendCompletion​(org.springframework.messaging.Message<?> message,
                                        org.springframework.messaging.MessageChannel channel,
                                        boolean sent,
                                        java.lang.Exception ex)
        Specified by:
        afterSendCompletion in interface org.springframework.messaging.support.ChannelInterceptor
        Overrides:
        afterSendCompletion in class org.springframework.messaging.support.ChannelInterceptorAdapter
      • beforeHandle

        public org.springframework.messaging.Message<?> beforeHandle​(org.springframework.messaging.Message<?> message,
                                                                     org.springframework.messaging.MessageChannel channel,
                                                                     org.springframework.messaging.MessageHandler handler)
        Specified by:
        beforeHandle in interface org.springframework.messaging.support.ExecutorChannelInterceptor
      • afterMessageHandled

        public void afterMessageHandled​(org.springframework.messaging.Message<?> message,
                                        org.springframework.messaging.MessageChannel channel,
                                        org.springframework.messaging.MessageHandler handler,
                                        java.lang.Exception ex)
        Specified by:
        afterMessageHandled in interface org.springframework.messaging.support.ExecutorChannelInterceptor