zsxneil

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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));
    }

 

posted on 2017-03-25 22:35  zsxneil  阅读(1026)  评论(0编辑  收藏  举报