Class MessageExpressionVoter<T>
- All Implemented Interfaces:
AccessDecisionVoter<org.springframework.messaging.Message<T>>
Message authorisation decisions. If a
MessageExpressionConfigAttribute is found, then its expression is evaluated. If
true, ACCESS_GRANTED is returned. If false, ACCESS_DENIED is returned.
If no MessageExpressionConfigAttribute is found, then ACCESS_ABSTAIN is
returned.- Since:
- 4.0
-
Field Summary
Fields inherited from interface org.springframework.security.access.AccessDecisionVoter
ACCESS_ABSTAIN, ACCESS_DENIED, ACCESS_GRANTED -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidsetExpressionHandler(SecurityExpressionHandler<org.springframework.messaging.Message<T>> expressionHandler) Deprecated.booleanDeprecated.Indicates whether theAccessDecisionVoterimplementation is able to provide access control votes for the indicated secured object type.booleansupports(ConfigAttribute attribute) Deprecated.Indicates whether thisAccessDecisionVoteris able to vote on the passedConfigAttribute.intvote(Authentication authentication, org.springframework.messaging.Message<T> message, Collection<ConfigAttribute> attributes) Deprecated.Indicates whether or not access is granted.
-
Constructor Details
-
MessageExpressionVoter
public MessageExpressionVoter()Deprecated.
-
-
Method Details
-
vote
public int vote(Authentication authentication, org.springframework.messaging.Message<T> message, Collection<ConfigAttribute> attributes) Deprecated.Description copied from interface:AccessDecisionVoterIndicates whether or not access is granted.The decision must be affirmative (
ACCESS_GRANTED), negative (ACCESS_DENIED) or theAccessDecisionVotercan abstain (ACCESS_ABSTAIN) from voting. Under no circumstances should implementing classes return any other value. If a weighting of results is desired, this should be handled in a customAccessDecisionManagerinstead.Unless an
AccessDecisionVoteris specifically intended to vote on an access control decision due to a passed method invocation or configuration attribute parameter, it must returnACCESS_ABSTAIN. This prevents the coordinatingAccessDecisionManagerfrom counting votes from thoseAccessDecisionVoters without a legitimate interest in the access control decision.Whilst the secured object (such as a
MethodInvocation) is passed as a parameter to maximise flexibility in making access control decisions, implementing classes should not modify it or cause the represented invocation to take place (for example, by callingMethodInvocation.proceed()).- Specified by:
votein interfaceAccessDecisionVoter<T>- Parameters:
authentication- the caller making the invocationmessage- the secured object being invokedattributes- the configuration attributes associated with the secured object- Returns:
- either
AccessDecisionVoter.ACCESS_GRANTED,AccessDecisionVoter.ACCESS_ABSTAINorAccessDecisionVoter.ACCESS_DENIED
-
supports
Deprecated.Description copied from interface:AccessDecisionVoterIndicates whether thisAccessDecisionVoteris able to vote on the passedConfigAttribute.This allows the
AbstractSecurityInterceptorto check every configuration attribute can be consumed by the configuredAccessDecisionManagerand/orRunAsManagerand/orAfterInvocationManager.- Specified by:
supportsin interfaceAccessDecisionVoter<T>- Parameters:
attribute- a configuration attribute that has been configured against theAbstractSecurityInterceptor- Returns:
- true if this
AccessDecisionVotercan support the passed configuration attribute
-
supports
Deprecated.Description copied from interface:AccessDecisionVoterIndicates whether theAccessDecisionVoterimplementation is able to provide access control votes for the indicated secured object type.- Specified by:
supportsin interfaceAccessDecisionVoter<T>- Parameters:
clazz- the class that is being queried- Returns:
- true if the implementation can process the indicated class
-
setExpressionHandler
public void setExpressionHandler(SecurityExpressionHandler<org.springframework.messaging.Message<T>> expressionHandler) Deprecated.
-
MessageMatcherDelegatingAuthorizationManagerinstead