Package org.springframework.security.access.vote

# Class AffirmativeBased

java.lang.Object
org.springframework.security.access.vote.AbstractAccessDecisionManager
org.springframework.security.access.vote.AffirmativeBased

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

@Deprecated public class AffirmativeBased extends AbstractAccessDecisionManager
Deprecated.
Use `AuthorizationManager` instead
Simple concrete implementation of `AccessDecisionManager` that grants access if any `AccessDecisionVoter` returns an affirmative response.

## Field Summary

### Fields inherited from class org.springframework.security.access.vote.AbstractAccessDecisionManager

`logger, messages`

## Constructor Summary

Constructors
Constructor
Description
`AffirmativeBased(List<AccessDecisionVoter<?>> decisionVoters)`
Deprecated.

## Method Summary

Modifier and Type
Method
Description
`void`
`decide(Authentication authentication, Object object, Collection<ConfigAttribute> configAttributes)`
Deprecated.
This concrete implementation simply polls all configured `AccessDecisionVoter`s and grants access if any `AccessDecisionVoter` voted affirmatively.

### Methods inherited from class org.springframework.security.access.vote.AbstractAccessDecisionManager

`afterPropertiesSet, checkAllowIfAllAbstainDecisions, getDecisionVoters, isAllowIfAllAbstainDecisions, setAllowIfAllAbstainDecisions, setMessageSource, supports, supports, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### AffirmativeBased

public AffirmativeBased(List<AccessDecisionVoter<?>> decisionVoters)
Deprecated.

## Method Details

### decide

public void decide(Authentication authentication, Object object, Collection<ConfigAttribute> configAttributes) throws AccessDeniedException
Deprecated.
This concrete implementation simply polls all configured `AccessDecisionVoter`s 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