Class ChannelDecisionManagerImpl
java.lang.Object
org.springframework.security.web.access.channel.ChannelDecisionManagerImpl
- All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean,ChannelDecisionManager
public class ChannelDecisionManagerImpl
extends Object
implements ChannelDecisionManager, org.springframework.beans.factory.InitializingBean
Implementation of
ChannelDecisionManager.
Iterates through each configured ChannelProcessor. If a
ChannelProcessor has any issue with the security of the request, it should
cause a redirect, exception or whatever other action is appropriate for the
ChannelProcessor implementation.
Once any response is committed (ie a redirect is written to the response object), the
ChannelDecisionManagerImpl will not iterate through any further
ChannelProcessors.
The attribute "ANY_CHANNEL" if applied to a particular URL, the iteration through the channel processors will be skipped (see SEC-494, SEC-335).
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoiddecide(FilterInvocation invocation, Collection<ConfigAttribute> config) Decided whether the presentedFilterInvocationprovides the appropriate level of channel security based on the requested list of ConfigAttributes.protected List<ChannelProcessor>voidsetChannelProcessors(List<?> channelProcessors) booleansupports(ConfigAttribute attribute) Indicates whether thisChannelDecisionManageris able to process the passedConfigAttribute.
-
Field Details
-
ANY_CHANNEL
- See Also:
-
-
Constructor Details
-
ChannelDecisionManagerImpl
public ChannelDecisionManagerImpl()
-
-
Method Details
-
afterPropertiesSet
public void afterPropertiesSet()- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean
-
decide
public void decide(FilterInvocation invocation, Collection<ConfigAttribute> config) throws IOException, jakarta.servlet.ServletException Description copied from interface:ChannelDecisionManagerDecided whether the presentedFilterInvocationprovides the appropriate level of channel security based on the requested list of ConfigAttributes.- Specified by:
decidein interfaceChannelDecisionManager- Throws:
IOExceptionjakarta.servlet.ServletException
-
getChannelProcessors
-
setChannelProcessors
-
supports
Description copied from interface:ChannelDecisionManagerIndicates whether thisChannelDecisionManageris able to process the passedConfigAttribute.This allows the
ChannelProcessingFilterto check every configuration attribute can be consumed by the configuredChannelDecisionManager.- Specified by:
supportsin interfaceChannelDecisionManager- Parameters:
attribute- a configuration attribute that has been configured against theChannelProcessingFilter- Returns:
- true if this
ChannelDecisionManagercan support the passed configuration attribute
-