Class MessageSecurityMetadataSourceRegistry
- java.lang.Object
-
- org.springframework.security.config.annotation.web.messaging.MessageSecurityMetadataSourceRegistry
-
public class MessageSecurityMetadataSourceRegistry extends java.lang.Object
Allows mapping security constraints usingMessageMatcher
to the security expressions.- Since:
- 4.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
MessageSecurityMetadataSourceRegistry.Constraint
Represents the security constraint to be applied to theMessageMatcher
instances.
-
Constructor Summary
Constructors Constructor Description MessageSecurityMetadataSourceRegistry()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MessageSecurityMetadataSourceRegistry.Constraint
anyMessage()
Maps anyMessage
to a security expression.protected boolean
containsMapping()
Allows determining if a mapping was added.protected org.springframework.security.messaging.access.intercept.MessageSecurityMetadataSource
createMetadataSource()
Allows subclasses to create creating aMessageSecurityMetadataSource
.MessageSecurityMetadataSourceRegistry
expressionHandler(org.springframework.security.access.expression.SecurityExpressionHandler<org.springframework.messaging.Message<java.lang.Object>> expressionHandler)
TheSecurityExpressionHandler
to be used.protected boolean
isSimpDestPathMatcherConfigured()
Determines if thesimpDestPathMatcher(PathMatcher)
has been explicitly set.MessageSecurityMetadataSourceRegistry.Constraint
matchers(org.springframework.security.messaging.util.matcher.MessageMatcher<?>... matchers)
Maps aList
ofMessageMatcher
instances to a security expression.MessageSecurityMetadataSourceRegistry.Constraint
nullDestMatcher()
Maps anyMessage
that has a null SimpMessageHeaderAccessor destination header (i.e.MessageSecurityMetadataSourceRegistry.Constraint
simpDestMatchers(java.lang.String... patterns)
Maps aList
ofSimpDestinationMessageMatcher
instances without regard to theSimpMessageType
.MessageSecurityMetadataSourceRegistry
simpDestPathMatcher(org.springframework.util.PathMatcher pathMatcher)
ThePathMatcher
to be used with thesimpDestMatchers(String...)
.MessageSecurityMetadataSourceRegistry.Constraint
simpMessageDestMatchers(java.lang.String... patterns)
Maps aList
ofSimpDestinationMessageMatcher
instances that match onSimpMessageType.MESSAGE
.MessageSecurityMetadataSourceRegistry.Constraint
simpSubscribeDestMatchers(java.lang.String... patterns)
Maps aList
ofSimpDestinationMessageMatcher
instances that match onSimpMessageType.SUBSCRIBE
.MessageSecurityMetadataSourceRegistry.Constraint
simpTypeMatchers(org.springframework.messaging.simp.SimpMessageType... typesToMatch)
Maps aList
ofSimpDestinationMessageMatcher
instances.
-
-
-
Method Detail
-
anyMessage
public MessageSecurityMetadataSourceRegistry.Constraint anyMessage()
Maps anyMessage
to a security expression.- Returns:
- the Expression to associate
-
nullDestMatcher
public MessageSecurityMetadataSourceRegistry.Constraint nullDestMatcher()
Maps anyMessage
that has a null SimpMessageHeaderAccessor destination header (i.e. CONNECT, CONNECT_ACK, HEARTBEAT, UNSUBSCRIBE, DISCONNECT, DISCONNECT_ACK, OTHER)- Returns:
- the Expression to associate
-
simpTypeMatchers
public MessageSecurityMetadataSourceRegistry.Constraint simpTypeMatchers(org.springframework.messaging.simp.SimpMessageType... typesToMatch)
Maps aList
ofSimpDestinationMessageMatcher
instances.- Parameters:
typesToMatch
- theSimpMessageType
instance to match on- Returns:
- the
MessageSecurityMetadataSourceRegistry.Constraint
associated to the matchers.
-
simpDestMatchers
public MessageSecurityMetadataSourceRegistry.Constraint simpDestMatchers(java.lang.String... patterns)
Maps aList
ofSimpDestinationMessageMatcher
instances without regard to theSimpMessageType
. If no destination is found on the Message, then the Matcher returns false.- Parameters:
patterns
- the patterns to createSimpDestinationMessageMatcher
from. UsessimpDestPathMatcher(PathMatcher)
.- Returns:
- the
MessageSecurityMetadataSourceRegistry.Constraint
that is associated to theMessageMatcher
- See Also:
simpDestPathMatcher(PathMatcher)
-
simpMessageDestMatchers
public MessageSecurityMetadataSourceRegistry.Constraint simpMessageDestMatchers(java.lang.String... patterns)
Maps aList
ofSimpDestinationMessageMatcher
instances that match onSimpMessageType.MESSAGE
. If no destination is found on the Message, then the Matcher returns false.- Parameters:
patterns
- the patterns to createSimpDestinationMessageMatcher
from. UsessimpDestPathMatcher(PathMatcher)
.- Returns:
- the
MessageSecurityMetadataSourceRegistry.Constraint
that is associated to theMessageMatcher
- See Also:
simpDestPathMatcher(PathMatcher)
-
simpSubscribeDestMatchers
public MessageSecurityMetadataSourceRegistry.Constraint simpSubscribeDestMatchers(java.lang.String... patterns)
Maps aList
ofSimpDestinationMessageMatcher
instances that match onSimpMessageType.SUBSCRIBE
. If no destination is found on the Message, then the Matcher returns false.- Parameters:
patterns
- the patterns to createSimpDestinationMessageMatcher
from. UsessimpDestPathMatcher(PathMatcher)
.- Returns:
- the
MessageSecurityMetadataSourceRegistry.Constraint
that is associated to theMessageMatcher
- See Also:
simpDestPathMatcher(PathMatcher)
-
simpDestPathMatcher
public MessageSecurityMetadataSourceRegistry simpDestPathMatcher(org.springframework.util.PathMatcher pathMatcher)
ThePathMatcher
to be used with thesimpDestMatchers(String...)
. The default is to use the default constructor ofAntPathMatcher
.- Parameters:
pathMatcher
- thePathMatcher
to use. Cannot be null.- Returns:
- the
MessageSecurityMetadataSourceRegistry
for further customization.
-
isSimpDestPathMatcherConfigured
protected boolean isSimpDestPathMatcherConfigured()
Determines if thesimpDestPathMatcher(PathMatcher)
has been explicitly set.- Returns:
- true if
simpDestPathMatcher(PathMatcher)
has been explicitly set, else false.
-
matchers
public MessageSecurityMetadataSourceRegistry.Constraint matchers(org.springframework.security.messaging.util.matcher.MessageMatcher<?>... matchers)
Maps aList
ofMessageMatcher
instances to a security expression.- Parameters:
matchers
- theMessageMatcher
instances to map.- Returns:
- The
MessageSecurityMetadataSourceRegistry.Constraint
that is associated to theMessageMatcher
instances
-
expressionHandler
public MessageSecurityMetadataSourceRegistry expressionHandler(org.springframework.security.access.expression.SecurityExpressionHandler<org.springframework.messaging.Message<java.lang.Object>> expressionHandler)
TheSecurityExpressionHandler
to be used. The default is to useDefaultMessageSecurityExpressionHandler
.- Parameters:
expressionHandler
- theSecurityExpressionHandler
to use. Cannot be null.- Returns:
- the
MessageSecurityMetadataSourceRegistry
for further customization.
-
createMetadataSource
protected org.springframework.security.messaging.access.intercept.MessageSecurityMetadataSource createMetadataSource()
Allows subclasses to create creating aMessageSecurityMetadataSource
.This is not exposed so as not to confuse users of the API, which should never invoke this method.
- Returns:
- the
MessageSecurityMetadataSource
to use
-
containsMapping
protected boolean containsMapping()
Allows determining if a mapping was added.This is not exposed so as not to confuse users of the API, which should never need to invoke this method.
- Returns:
- true if a mapping was added, else false
-
-