public class ChannelDecisionManagerImpl extends Object implements ChannelDecisionManager, 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 String |
ANY_CHANNEL |
Constructor and Description |
---|
ChannelDecisionManagerImpl() |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet() |
void |
decide(FilterInvocation invocation,
Collection<ConfigAttribute> config)
Decided whether the presented
FilterInvocation provides the appropriate level of channel
security based on the requested list of ConfigAttributes. |
protected List<ChannelProcessor> |
getChannelProcessors() |
void |
setChannelProcessors(List<?> newList) |
boolean |
supports(ConfigAttribute attribute)
Indicates whether this
ChannelDecisionManager is able to process the passed
ConfigAttribute . |
public static final String ANY_CHANNEL
public void afterPropertiesSet() throws Exception
afterPropertiesSet
in interface InitializingBean
Exception
public void decide(FilterInvocation invocation, Collection<ConfigAttribute> config) throws IOException, javax.servlet.ServletException
ChannelDecisionManager
FilterInvocation
provides the appropriate level of channel
security based on the requested list of ConfigAttributes.decide
in interface ChannelDecisionManager
IOException
javax.servlet.ServletException
protected List<ChannelProcessor> getChannelProcessors()
public void setChannelProcessors(List<?> newList)
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