Tomcat 7 を実行して、Tomcat サーバーで /conf/web.xml を構成して、いくつかの URL を基本認証で保護し、パブリック アクセス用に他の URL を提供しようとしています。
tomcat-users.xml には、次のロールとユーザーが含まれています。
<role rolename="test-ui"/>
<user username="paul" password="password" roles="test-ui"/>
次のセクションを Tomcats /conf/web.xml に追加しました
<security-constraint>
<web-resource-collection>
<web-resource-name>Public access</web-resource-name>
<url-pattern>/docs/*</url-pattern>
</web-resource-collection>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Protected access</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>test-ui</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<description>Protected access</description>
<role-name>test-ui</role-name>
</security-role>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
そのため、2 つの「security-constraint」要素があり、公開されている要素には「auth-constraint」が含まれていません。これは、実際には認証が必要ないことを意味するはずです。
Tomcat は認証を要求します。これは問題ありませんが、URL http://localhost:8080/docs/を開くと、
Tomcat は認証も要求します。私の理解では、これは「安全でない」URL として構成されているため、パブリック アクセスですが、このようには動作しません。
構成で何が間違っていたのですか、それともこのシナリオはこのように機能しないはずですか?
ありがとう。ポール