3

Web サーバーのルート (ウェルカム ページ) にあるファイルへの無制限のアクセスを探していますが、デフォルトでは、サブフォルダーに解決されるすべての URL へのアクセスが制限されています。

アクセスを制限するためのデフォルトの一致として制限付きアクセスに / または /* を使用すると、ルートフォルダーを無制限にできなくなるという問題に直面しています。ルートには、ドメイン名にアクセスするときに表示したいデフォルトの「index.html」があります。アドバイスをいただければ幸いです。

ちなみに、私はjetty 6.1.6を使用しています

これは私の web.xml ファイルのスニペットです:

<servlet-mapping>
  <servlet-name>SomeServlet</servlet-name>
  <url-pattern>/servlet1</url-pattern>
</servlet-mapping>

<security-constraint>
  <web-resource-collection>
  <web-resource-name>ForbidDefaultAccess</web-resource-name>
    <url-pattern>/*</url-pattern>
  </web-resource-collection>
  <auth-constraint/>
</security-constraint>

<security-constraint>
  <web-resource-collection>
  <!-- unauthorized -->      
    <web-resource-name>GrantAccess</web-resource-name>
    <url-pattern>/some_dir/*</url-pattern>
    <url-pattern>/servlet1</url-pattern>
    <url-pattern>/</url-pattern>      
  </web-resource-collection>
</security-constraint>

<security-constraint>
  <web-resource-collection>
    <web-resource-name>AuthorizedResources</web-resource-name>
    <url-pattern>/cfg/*</url-pattern>
    <url-pattern>/fileupload/*</url-pattern>
    <url-pattern>/list/*</url-pattern>
    <http-method>GET</http-method>
    <http-method>POST</http-method>
  </web-resource-collection>
  <auth-constraint>
    <role-name>UserRole</role-name>
  </auth-constraint>
</security-constraint>

前もって感謝します

4

2 に答える 2

3

Java J2EE 6 でホワイトリストが可能

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Disable unneeded HTTP methods by 403 Forbidden them</web-resource-name>
        <url-pattern>*</url-pattern>
        <http-method-omission>GET</http-method-omission>
        <http-method-omission>HEAD</http-method-omission>
        <http-method-omission>POST</http-method-omission>
        </web-resource-collection>
    <auth-constraint />
</security-constraint>

参照: https://blogs.oracle.com/nithya/entry/new_security_features_in_glassfish

于 2013-10-21T23:13:59.347 に答える
0

を作成してFilter、すべての URL に適用できます。URL の深さ (基本的にはスラッシュの数) をチェックし、それに応じてリソースへのアクセスを許可または拒否しますchain.doFilter()。最初のケースでは使用し、2 番目のケースでは a をスローしHTTP 403 errorます。

于 2013-03-08T13:43:17.970 に答える