Class SecurityContextChannelInterceptor
- java.lang.Object
-
- org.springframework.messaging.support.ChannelInterceptorAdapter
-
- org.springframework.security.messaging.context.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 theAuthentication
from the specifiedMessage.getHeaders()
.- Since:
- 4.0
-
-
Constructor Summary
Constructors Constructor Description SecurityContextChannelInterceptor()
Creates a new instance using the header of the nameSimpMessageHeaderAccessor.USER_HEADER
.SecurityContextChannelInterceptor(java.lang.String authenticationHeaderName)
Creates a new instance that uses the specified header to obtain theAuthentication
.
-
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
-
-
-
-
Constructor Detail
-
SecurityContextChannelInterceptor
public SecurityContextChannelInterceptor()
Creates a new instance using the header of the nameSimpMessageHeaderAccessor.USER_HEADER
.
-
SecurityContextChannelInterceptor
public SecurityContextChannelInterceptor(java.lang.String authenticationHeaderName)
Creates a new instance that uses the specified header to obtain theAuthentication
.- Parameters:
authenticationHeaderName
- the header name to obtain theAuthentication
. 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 interfaceorg.springframework.messaging.support.ChannelInterceptor
- Overrides:
preSend
in classorg.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 interfaceorg.springframework.messaging.support.ChannelInterceptor
- Overrides:
afterSendCompletion
in classorg.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 interfaceorg.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 interfaceorg.springframework.messaging.support.ExecutorChannelInterceptor
-
setSecurityContextHolderStrategy
public void setSecurityContextHolderStrategy(SecurityContextHolderStrategy strategy)
-
-