如何在应用程序中为所需的页面实现HTTPS?
发布时间:2020-12-15 08:45:20 所属栏目:Java 来源:网络整理
导读:我们正在尝试为我们的应用程序中的某些页面实现HTTPS.因此,我们更改了tomcat server.xml以进行HTTPS调用,如下所示: Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" acceptCount="100" maxKeepAliveRequests="15
我们正在尝试为我们的应用程序中的某些页面实现HTTPS.因此,我们更改了tomcat server.xml以进行HTTPS调用,如下所示:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" acceptCount="100" maxKeepAliveRequests="15" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/webapps/test.bin" keystorePass="test"/> 在应用程序web.xml中: <security-constraint> <web-resource-collection> <web-resource-name>securedapp</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint> 因此,HTTPS正在申请所有页面.如何限制所需页面的HTTPS. 帮助将不胜感激. 解决方法
Spring Security Interceptor有一个参数requires-channel.将此参数设置为https以对与拦截器匹配的url模式强制执行此操作.
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:security="http://www.springframework.org/schema/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.4.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"> <security:http> <security:intercept-url pattern="/login" access="permitAll" requires-channel="https"/> </security:http> </bean> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |