public class ConsensusBased extends AbstractAccessDecisionManager
AccessDecisionManager that uses a
consensus-based approach.
"Consensus" here means majority-rule (ignoring abstains) rather than unanimous agreement (ignoring abstains).
If you require unanimity, please see UnanimousBased.
logger, messages| Constructor and Description |
|---|
ConsensusBased()
Deprecated.
Use constructor which takes voter list
|
ConsensusBased(List<AccessDecisionVoter> decisionVoters) |
| Modifier and Type | Method and Description |
|---|---|
void |
decide(Authentication authentication,
Object object,
Collection<ConfigAttribute> configAttributes)
This concrete implementation simply polls all configured
AccessDecisionVoters and upon
completion determines the consensus of granted against denied responses. |
boolean |
isAllowIfEqualGrantedDeniedDecisions() |
void |
setAllowIfEqualGrantedDeniedDecisions(boolean allowIfEqualGrantedDeniedDecisions) |
afterPropertiesSet, checkAllowIfAllAbstainDecisions, getDecisionVoters, isAllowIfAllAbstainDecisions, setAllowIfAllAbstainDecisions, setDecisionVoters, setMessageSource, supports, supports@Deprecated public ConsensusBased()
public ConsensusBased(List<AccessDecisionVoter> decisionVoters)
public void decide(Authentication authentication, Object object, Collection<ConfigAttribute> configAttributes) throws AccessDeniedException
AccessDecisionVoters and upon
completion determines the consensus of granted against denied responses.
If there were an equal number of grant and deny votes, the decision will be based on the
isAllowIfEqualGrantedDeniedDecisions() property (defaults to true).
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 objectconfigAttributes - the configuration attributes associated with the method being invokedAccessDeniedException - if access is deniedpublic boolean isAllowIfEqualGrantedDeniedDecisions()
public void setAllowIfEqualGrantedDeniedDecisions(boolean allowIfEqualGrantedDeniedDecisions)