シナリオ:
一部のサーブレットではセキュリティ(資格情報を介したアクセスのみ)を有効にする必要がありますが、他のサーブレットでは有効にしないでください。すべてweb.xml経由。
シナリオ:
一部のサーブレットではセキュリティ(資格情報を介したアクセスのみ)を有効にする必要がありますが、他のサーブレットでは有効にしないでください。すべてweb.xml経由。
これがその方法です。
まず、セキュリティロール+ログイン設定:
<security-role>
<description>
Main user for admin GUI
</description>
<role-name>admin</role-name>
</security-role>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>my login</realm-name>
</login-config>
公的にアクセスする必要があるこのサーブレット:
<servlet>
<description>Landing Page for Admin GUI</description>
<display-name>StartServlet</display-name>
<servlet-name>StartServlet</servlet-name>
<servlet-class>StartServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>StartServlet</servlet-name>
<url-pattern>/index.html</url-pattern>
</servlet-mapping>
すべてのページの制限(管理者ユーザーからのみアクセス可能):
<security-constraint>
<web-resource-collection>
<web-resource-name>Private</web-resource-name>
<description>Matches all pages</description>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
パブリックはそれらだけです:
<security-constraint>
<web-resource-collection>
<web-resource-name>Public</web-resource-name>
<description>Makes the landing page explicitly public (overrides Private above since more specific!)</description>
<url-pattern>/index.html</url-pattern>
</web-resource-collection>
<!-- No auth-constraint = everybody has access! -->
</security-constraint>