public class UnanimousBased extends AbstractAccessDecisionManager
AccessDecisionManager
that requires all
voters to abstain or grant access.logger, messages
Constructor and Description |
---|
UnanimousBased(java.util.List<AccessDecisionVoter<? extends java.lang.Object>> decisionVoters) |
Modifier and Type | Method and Description |
---|---|
void |
decide(Authentication authentication,
java.lang.Object object,
java.util.Collection<ConfigAttribute> attributes)
This concrete implementation polls all configured
AccessDecisionVoter s for
each ConfigAttribute and grants access if only grant (or abstain)
votes were received. |
afterPropertiesSet, checkAllowIfAllAbstainDecisions, getDecisionVoters, isAllowIfAllAbstainDecisions, setAllowIfAllAbstainDecisions, setMessageSource, supports, supports
public UnanimousBased(java.util.List<AccessDecisionVoter<? extends java.lang.Object>> decisionVoters)
public void decide(Authentication authentication, java.lang.Object object, java.util.Collection<ConfigAttribute> attributes) throws AccessDeniedException
AccessDecisionVoter
s for
each ConfigAttribute
and grants access if only grant (or abstain)
votes were received.
Other voting implementations usually pass the entire list of
ConfigAttributes to the AccessDecisionVoter
. This
implementation differs in that each AccessDecisionVoter
knows only
about a single ConfigAttribute
at a time.
If every AccessDecisionVoter
abstained from voting, the decision will
be based on the AbstractAccessDecisionManager.isAllowIfAllAbstainDecisions()
property (defaults to
false).
authentication
- the caller invoking the methodobject
- the secured objectattributes
- the configuration attributes associated with the method being
invokedAccessDeniedException
- if access is denied