public class ChannelDecisionManagerImpl extends java.lang.Object implements ChannelDecisionManager, org.springframework.beans.factory.InitializingBean
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).
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ANY_CHANNEL |
Constructor and Description |
---|
ChannelDecisionManagerImpl() |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet() |
void |
decide(FilterInvocation invocation,
java.util.Collection<ConfigAttribute> config)
Decided whether the presented
FilterInvocation provides the appropriate
level of channel security based on the requested list of ConfigAttributes. |
protected java.util.List<ChannelProcessor> |
getChannelProcessors() |
void |
setChannelProcessors(java.util.List<?> channelProcessors) |
boolean |
supports(ConfigAttribute attribute)
Indicates whether this
ChannelDecisionManager is able to process the
passed ConfigAttribute . |
public static final java.lang.String ANY_CHANNEL
public void afterPropertiesSet()
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
public void decide(FilterInvocation invocation, java.util.Collection<ConfigAttribute> config) throws java.io.IOException, javax.servlet.ServletException
ChannelDecisionManager
FilterInvocation
provides the appropriate
level of channel security based on the requested list of ConfigAttributes.decide
in interface ChannelDecisionManager
java.io.IOException
javax.servlet.ServletException
protected java.util.List<ChannelProcessor> getChannelProcessors()
public void setChannelProcessors(java.util.List<?> channelProcessors)
public boolean supports(ConfigAttribute attribute)
ChannelDecisionManager
ChannelDecisionManager
is able to process the
passed ConfigAttribute
.
This allows the ChannelProcessingFilter
to check every configuration
attribute can be consumed by the configured ChannelDecisionManager
.
supports
in interface ChannelDecisionManager
attribute
- a configuration attribute that has been configured against the
ChannelProcessingFilter
ChannelDecisionManager
can support the passed
configuration attribute