SpringSecurity-ChannelProcessingFilter的作用

Posted zsxneil

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringSecurity-ChannelProcessingFilter的作用相关的知识,希望对你有一定的参考价值。

ChannelProcessingFilter决定的是web请求的通道,即http或https。

在springsecurity配置文件中添加这样一行

<intercept-url pattern=‘/**‘ requires-channel=‘https‘ />

ChannelProcessingFilter就会检查这个请求走的是否是https。如果是,就继续向下执行。否则,自动切换到对应的channel!

 

ChannelProcessingFilter有一个成员变量ChannelDecisionManager。

ChannelDecisionManager的decide方法即是判断channel是否正确。

ChannelDecisionManager的成员变量List<ChannelProcessor>默认有两个Processor:InsecureChannelProcessor和SecureChannelProcessor,

这两个Processor分别检查http和https的请求,如果请求的channel不正确,会自动切换(redirect)的对应的channel;

默认端口:http/80,https/443

public PortMapperImpl() {
        httpsPortMappings = new HashMap<Integer, Integer>();
        httpsPortMappings.put(Integer.valueOf(80), Integer.valueOf(443));
        httpsPortMappings.put(Integer.valueOf(8080), Integer.valueOf(8443));
    }

 

以上是关于SpringSecurity-ChannelProcessingFilter的作用的主要内容,如果未能解决你的问题,请参考以下文章