我的服务器上有几个具有不同角色和用户的页面,并配置了基本身份验证。
当我成功登录第一页然后尝试打开另一个我的页面(在另一个选项卡中)时,我只看到错误: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>