第 17 章 信道安全
转载
为了加强安全级别,我们可以限制默写资源必须通过https协议才能访问。
<http auto-config='true'>
<intercept-url pattern="/admin.jsp" access="ROLE_ADMIN" requires-channel="https"/>
<intercept-url pattern="/**" access="ROLE_USER" />
</http>
可以为/admin.jsp单独设置必须使用https才能访问,如果用户使用了http协议访问该网址,系统会强制用户使用https 协议重新进行请求。
这里我们可以选使用https, http或者any三种数值,其中any为默认值,表示无论用户使用何种协议都可以访问资源。
因为http和https协议的访问端口不同,Spring Security在处理信道安全时默认会使用80/443和8080/8443对访问的网址进行转换。如果服务器对http和https协议监听的端口进行了修改,则需要修改配置文件让系统了解http和https的端口信息。
我们可以使用port-mappings自定义端口映射。
<http auto-config='true'>
<intercept-url pattern="/admin.jsp" access="ROLE_ADMIN" requires-channel="https"/>
<intercept-url pattern="/**" access="ROLE_USER" />
<port-mappings>
<port-mapping http="9000" https="9443"/>
</port-mappings>
</http>
上述配置文件中,我们定义了9000与9443的映射,现在系统会在强制使用http协议的网址时使用9000作为端口号,在强制使用https协议的网址时使用9443作为端口号,这些端口号会反映在重定向后生成网址中。