18

現在の Web アプリケーションで web.xml を取り除こうとしていますが、アプリケーションへのすべての要求に HTTPS を使用するように強制するセキュリティ制約を適切に設定できませんでした。

<security-constraint>
  <web-resource-collection>
     <web-resource-name>all</web-resource-name>
     <url-pattern>/*</url-pattern>
  </web-resource-collection>
  <user-data-constraint>
     <transport-guarantee>CONFIDENTIAL</transport-guarantee>
  </user-data-constraint>
</security-constraint>

上記の web.xml 構成スニペットを、同じことを行うサーブレット 3.x 構成コードでどのように変更できますか?

アップデート

アプリケーション内のすべてのサーブレット、フィルター、および静的リソースに制約を適用したいのですが、これまでにオンラインで見た例では、セキュリティ制約をサーブレットにアタッチすることが示されていますが、セキュリティ制約を Web アプリにアタッチしたいと考えています。上記の xml スニペットでは、特定のサーブレットを参照していないことがわかります

4

3 に答える 3

0

Glassfish ドメイン セキュリティを構成することで、プロジェクトに対してこれを行うことができました。

  1. 新しいセキュリティ ドメインを作成します。この例では、FooRealm と呼びます。
  2. パスワード付き (またはパスワードなし) のユーザーを FooRealm に追加する
  3. 各ユーザーを「GroupFoo」に追加します

これで Glassfish の設定がカバーされます。これが web.xml です。

<security-constraint>
    <display-name>SecurityConstraint</display-name>
    <web-resource-collection>
        <web-resource-name>Everything</web-resource-name>
        <description>Everything</description>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <description>UserAuthenticationConstraint</description>
        <role-name>GroupFoo</role-name>
    </auth-constraint>
</security-constraint>
<login-config>
    <auth-method>FORM</auth-method>
    <realm-name>FooRealm</realm-name>
    <form-login-config>
        <form-login-page>/Login.jsp</form-login-page>
        <form-error-page>/LoginError.html</form-error-page>
    </form-login-config>
</login-config>
于 2013-10-31T17:17:19.467 に答える