Class AfterInvocationProviderManager
- java.lang.Object
- 
- org.springframework.security.access.intercept.AfterInvocationProviderManager
 
- 
- All Implemented Interfaces:
- org.springframework.beans.factory.InitializingBean,- AfterInvocationManager
 
 public class AfterInvocationProviderManager extends java.lang.Object implements AfterInvocationManager, org.springframework.beans.factory.InitializingBean Provider-based implementation ofAfterInvocationManager.Handles configuration of a bean context defined list of AfterInvocationProviders.Every AfterInvocationProviderwill be polled when thedecide(Authentication, Object, Collection, Object)method is called. TheObjectreturned from each provider will be presented to the successive provider for processing. This means each provider must ensure they return theObject, 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).
- 
- 
Field SummaryFields Modifier and Type Field Description protected static org.apache.commons.logging.Loglogger
 - 
Constructor SummaryConstructors Constructor Description AfterInvocationProviderManager()
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterPropertiesSet()java.lang.Objectdecide(Authentication authentication, java.lang.Object object, java.util.Collection<ConfigAttribute> config, java.lang.Object returnedObject)Given the details of a secure object invocation including its returnedObject, make an access control decision or optionally modify the returnedObject.java.util.List<AfterInvocationProvider>getProviders()voidsetProviders(java.util.List<?> newList)booleansupports(java.lang.Class<?> clazz)Iterates through allAfterInvocationProviders and ensures each can support the presented class.booleansupports(ConfigAttribute attribute)Indicates whether thisAfterInvocationManageris able to process "after invocation" requests presented with the passedConfigAttribute.
 
- 
- 
- 
Method Detail- 
afterPropertiesSetpublic void afterPropertiesSet() - Specified by:
- afterPropertiesSetin interface- org.springframework.beans.factory.InitializingBean
 
 - 
decidepublic java.lang.Object decide(Authentication authentication, java.lang.Object object, java.util.Collection<ConfigAttribute> config, java.lang.Object returnedObject) throws AccessDeniedException Description copied from interface:AfterInvocationManagerGiven the details of a secure object invocation including its returnedObject, make an access control decision or optionally modify the returnedObject.- Specified by:
- decidein 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- Objectthat was returned from the secure object invocation
- Returns:
- the Objectthat 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 thereturnedObjectmethod argument)
- Throws:
- AccessDeniedException- if access is denied
 
 - 
getProviderspublic java.util.List<AfterInvocationProvider> getProviders() 
 - 
setProviderspublic void setProviders(java.util.List<?> newList) 
 - 
supportspublic boolean supports(ConfigAttribute attribute) Description copied from interface:AfterInvocationManagerIndicates whether thisAfterInvocationManageris able to process "after invocation" requests presented with the passedConfigAttribute.This allows the AbstractSecurityInterceptorto check every configuration attribute can be consumed by the configuredAccessDecisionManagerand/orRunAsManagerand/orAfterInvocationManager.- Specified by:
- supportsin interface- AfterInvocationManager
- Parameters:
- attribute- a configuration attribute that has been configured against the- AbstractSecurityInterceptor
- Returns:
- true if this AfterInvocationManagercan support the passed configuration attribute
 
 - 
supportspublic boolean supports(java.lang.Class<?> clazz) Iterates through allAfterInvocationProviders and ensures each can support the presented class.If one or more providers cannot support the presented class, falseis returned.- Specified by:
- supportsin interface- AfterInvocationManager
- Parameters:
- clazz- the secure object class being queries
- Returns:
- if the AfterInvocationProviderManagercan support the secure object class, which requires every one of itsAfterInvocationProviders to support the secure object class
 
 
- 
 
-