事实上,我得到了重定向HTTP方法为https,因为我在web.xml中添加过滤器。 如,
<security-constraint>
<web-resource-collection>
<web-resource-name>SSL</web-resource-name>
<url-pattern>/xxx/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
在这种情况下,我可以做类似的网址/xxx/*
以https模式被请求。 还有一些其他的URL像/yyy/*
必须以HTTP模式的要求,所以我怎么能做到这一点?
在树脂-web.xml中,你可以使用树脂重写标签重定向到一个不同的URL并为您喜欢IfSecure条件。
例如,你的WEB-INF /树脂-web.xml中可能看起来像
<web-app xmlns="http://caucho.com/ns/resin"
xmlns:resin="urn:java:com.caucho.resin">
<resin:Redirect regexp="^/xxx/" target="https://myhost.com/xxx/">
<resin:IfSecure value="false"/>
</resin:Redirect>
<resin:Redirect regexp="^/yyy/" target="http://myhost.com/yyy/">
<resin:IfSecure value="true"/>
</resin:Redirect>
</web-app>
如果这是你的/ XXX检查的第一场比赛,和SSL连接。 如果不是SSL连接,它重定向到https的主机。 否则,规则将被忽略。
如果这是你的/ YYY检查的第二场比赛,以及SSL连接。 如果它是一个SSL连接,它重定向到HTTP为你的主机。 否则,规则将被忽略。