Class AffirmativeBased

  • All Implemented Interfaces:
    org.springframework.beans.factory.Aware, org.springframework.beans.factory.InitializingBean, org.springframework.context.MessageSourceAware, AccessDecisionManager

    public class AffirmativeBased
    extends AbstractAccessDecisionManager
    Simple concrete implementation of AccessDecisionManager that grants access if any AccessDecisionVoter returns an affirmative response.
    • Constructor Detail

      • AffirmativeBased

        public AffirmativeBased​(java.util.List<AccessDecisionVoter<?>> decisionVoters)
    • Method Detail

      • decide

        public void decide​(Authentication authentication,
                           java.lang.Object object,
                           java.util.Collection<ConfigAttribute> configAttributes)
                    throws AccessDeniedException
        This concrete implementation simply polls all configured AccessDecisionVoters and grants access if any AccessDecisionVoter voted affirmatively. Denies access only if there was a deny vote AND no affirmative votes.

        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
        configAttributes - the configuration attributes associated with the method being invoked
        Throws:
        AccessDeniedException - if access is denied