サーバー上に、さまざまな役割とユーザーを持ついくつかのページがあり、基本認証が構成されています。
最初のページに正常にログインし、別のマイ ページ (別のタブ) を開こうとすると、次のエラーが表示されます: HTTP ステータス 403 - 要求されたリソースへのアクセスが拒否されました。その別のページを正常に開くには、ブラウザを閉じて再度開く必要があります。
予想される動作: 別のページを新しいタブで開くと、新しいページのログインとパスワードを入力するための新しいログイン ダイアログが表示されます。
これらは私の構成です:
tomcat-users.xml:
<role rolename="Role1"/>
<role rolename="Role2"/>
<user username="user1" password="pass1" roles="Role1"/>
<user username="user2" password="pass2" roles="Role2"/>
web.xml の一部:
<security-constraint>
<web-resource-collection>
<web-resource-name>Info Page</web-resource-name>
<url-pattern>/DeploymentInfoService</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>Role1</role-name>
</auth-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>RSS Feeds</web-resource-name>
<url-pattern>/RssFeedService</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>Role2</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<role-name>Role1</role-name>
</security-role>
<security-role>
<role-name>Role2</role-name>
</security-role>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>OnJava Application</realm-name>
</login-config>