public class UnanimousBased extends AbstractAccessDecisionManager
AccessDecisionManager
that requires all
voters to abstain or grant access.logger, messages
Constructor and Description |
---|
UnanimousBased(List<AccessDecisionVoter<? extends Object>> decisionVoters) |
Modifier and Type | Method and Description |
---|---|
void |
decide(Authentication authentication,
Object object,
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(List<AccessDecisionVoter<? extends Object>> decisionVoters)
public void decide(Authentication authentication, Object object, 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