0

実際、web.xmlにフィルターを追加すると、httpをhttpsにリダイレクトする方法が得られました。そのような、

<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>

この場合、URL/xxx/*が https モードで要求されるようにすることができます。/yyy/*httpモードで要求する必要があるような他のURLがいくつかありますが、どうすればそれを行うことができますか?

4

1 に答える 1

4

resin-web.xml では、Resin 書き換えタグを使用して別の URL にリダイレクトし、IfSecure などの条件を確認できます。

たとえば、WEB-INF/resin-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 にリダイレクトされます。それ以外の場合、ルールは無視されます。

2 番目は /yyy に一致し、SSL 接続かどうかをチェックします。SSL 接続の場合は、ホストの http にリダイレクトされます。それ以外の場合、ルールは無視されます。

于 2012-09-29T03:40:33.380 に答える