Class UnanimousBased

java.lang.Object
org.springframework.security.access.vote.AbstractAccessDecisionManager
org.springframework.security.access.vote.UnanimousBased
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.InitializingBean, org.springframework.context.MessageSourceAware, AccessDecisionManager

public class UnanimousBased extends AbstractAccessDecisionManager
Simple concrete implementation of AccessDecisionManager that requires all voters to abstain or grant access.
  • Constructor Details

  • Method Details

    • decide

      public void decide(Authentication authentication, Object object, Collection<ConfigAttribute> attributes) throws AccessDeniedException
      This concrete implementation polls all configured AccessDecisionVoters 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).

      Parameters:
      authentication - the caller invoking the method
      object - the secured object
      attributes - the configuration attributes associated with the method being invoked
      Throws:
      AccessDeniedException - if access is denied