Package org.springframework.security.access.intercept

# Class AfterInvocationProviderManager

java.lang.Object
org.springframework.security.access.intercept.AfterInvocationProviderManager

All Implemented Interfaces:
  `org.springframework.beans.factory.InitializingBean`, `AfterInvocationManager`

@Deprecated public class AfterInvocationProviderManager extends Object implements AfterInvocationManager, org.springframework.beans.factory.InitializingBean
Deprecated.
Use delegation with `AuthorizationManager`
Provider-based implementation of `AfterInvocationManager`.

Handles configuration of a bean context defined list of `AfterInvocationProvider` s.

Every `AfterInvocationProvider` will be polled when the `decide(Authentication, Object, Collection, Object)` method is called. The `Object` returned from each provider will be presented to the successive provider for processing. This means each provider must ensure they return the `Object`, even if they are not interested in the "after invocation" decision (perhaps as the secure object invocation did not include a configuration attribute a given provider is configured to respond to).

See Also:
  - `AuthorizationManagerBeforeMethodInterceptor`
  - `AuthorizationManagerAfterMethodInterceptor`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected static final org.apache.commons.logging.Log`
`logger`
Deprecated.

## Constructor Summary

Constructors
Constructor
Description
`AfterInvocationProviderManager()`
Deprecated.

## Method Summary

Modifier and Type
Method
Description
`void`
`afterPropertiesSet()`
Deprecated.
`Object`
`decide(Authentication authentication, Object object, Collection<ConfigAttribute> config, Object returnedObject)`
Deprecated.
Given the details of a secure object invocation including its returned `Object`, make an access control decision or optionally modify the returned `Object`.
`List<AfterInvocationProvider>`
`getProviders()`
Deprecated.
`void`
`setProviders(List<?> newList)`
Deprecated.
`boolean`
`supports(Class<?> clazz)`
Deprecated.
Iterates through all `AfterInvocationProvider`s and ensures each can support the presented class.
`boolean`
`supports(ConfigAttribute attribute)`
Deprecated.
Indicates whether this `AfterInvocationManager` is able to process "after invocation" requests presented with the passed `ConfigAttribute`.

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

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

## Field Details

### logger

protected static final org.apache.commons.logging.Log logger
Deprecated.

## Constructor Details

### AfterInvocationProviderManager

public AfterInvocationProviderManager()
Deprecated.

## Method Details

### afterPropertiesSet

public void afterPropertiesSet()
Deprecated.

Specified by:
  `afterPropertiesSet` in interface `org.springframework.beans.factory.InitializingBean`

### decide

public Object decide(Authentication authentication, Object object, Collection<ConfigAttribute> config, Object returnedObject) throws AccessDeniedException
Deprecated.
Description copied from interface: `AfterInvocationManager`
Given the details of a secure object invocation including its returned `Object`, make an access control decision or optionally modify the returned `Object`.

Specified by:
  `decide` in interface `AfterInvocationManager`
Parameters:
  `authentication` - the caller that invoked the method
  `object` - the secured object that was called
  `config` - the configuration attributes associated with the secured object that was invoked
  `returnedObject` - the `Object` that was returned from the secure object invocation
Returns:
  the `Object` that will ultimately be returned to the caller (if an implementation does not wish to modify the object to be returned to the caller, the implementation should simply return the same object it was passed by the `returnedObject` method argument)
Throws:
  `AccessDeniedException` - if access is denied

### getProviders

public List<AfterInvocationProvider> getProviders()
Deprecated.

### setProviders

public void setProviders(List<?> newList)
Deprecated.

### supports

public boolean supports(ConfigAttribute attribute)
Deprecated.
Description copied from interface: `AfterInvocationManager`
Indicates whether this `AfterInvocationManager` is able to process "after invocation" requests presented with the passed `ConfigAttribute`.

This allows the `AbstractSecurityInterceptor` to check every configuration attribute can be consumed by the configured `AccessDecisionManager` and/or `RunAsManager` and/or `AfterInvocationManager`.

Specified by:
  `supports` in interface `AfterInvocationManager`
Parameters:
  `attribute` - a configuration attribute that has been configured against the `AbstractSecurityInterceptor`
Returns:
  true if this `AfterInvocationManager` can support the passed configuration attribute

### supports

public boolean supports(Class<?> clazz)
Deprecated.
Iterates through all `AfterInvocationProvider`s and ensures each can support the presented class.

If one or more providers cannot support the presented class, `false` is returned.

Specified by:
  `supports` in interface `AfterInvocationManager`
Parameters:
  `clazz` - the secure object class being queries
Returns:
  if the `AfterInvocationProviderManager` can support the secure object class, which requires every one of its `AfterInvocationProvider`s to support the secure object class