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
ChannelProcessor
s.
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
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
void
decide
(FilterInvocation invocation, Collection<ConfigAttribute> config) Decided whether the presentedFilterInvocation
provides the appropriate level of channel security based on the requested list of ConfigAttributes.protected List<ChannelProcessor>
void
setChannelProcessors
(List<?> channelProcessors) boolean
supports
(ConfigAttribute attribute) Indicates whether thisChannelDecisionManager
is able to process the passedConfigAttribute
.
-
Field Details
-
ANY_CHANNEL
- See Also:
-
-
Constructor Details
-
ChannelDecisionManagerImpl
public ChannelDecisionManagerImpl()
-
-
Method Details
-
afterPropertiesSet
public void afterPropertiesSet()- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
-
decide
public void decide(FilterInvocation invocation, Collection<ConfigAttribute> config) throws IOException, jakarta.servlet.ServletException Description copied from interface:ChannelDecisionManager
Decided whether the presentedFilterInvocation
provides the appropriate level of channel security based on the requested list of ConfigAttributes.- Specified by:
decide
in interfaceChannelDecisionManager
- Throws:
IOException
jakarta.servlet.ServletException
-
getChannelProcessors
-
setChannelProcessors
-
supports
Description copied from interface:ChannelDecisionManager
Indicates whether thisChannelDecisionManager
is able to process the passedConfigAttribute
.This allows the
ChannelProcessingFilter
to check every configuration attribute can be consumed by the configuredChannelDecisionManager
.- Specified by:
supports
in interfaceChannelDecisionManager
- Parameters:
attribute
- a configuration attribute that has been configured against theChannelProcessingFilter
- Returns:
- true if this
ChannelDecisionManager
can support the passed configuration attribute
-