再会。我已经使用 Tomcat 7.0 实现了带有 FORMS 身份验证的 JAAS 授权。当我尝试访问 localhost:8080/Guestbook/secure/123.html 时,我被重定向到授权页面。我进行身份验证,然后我被重定向到 localhost:8080/Guestbook/secure/css/style.css,得到 HTTP 状态 404 - /Guestbook/secure/css/style.css。如果我再次尝试访问 localhost:8080/Guestbook/secure/123.html 资源,我可以在不重定向到身份验证页面的情况下获取它。据我了解,我获得了授权,但我没有从第一次尝试就被重定向到资源。确实会发生什么以及可以采取哪些措施来防止这种行为?在我的 web.xml 中,我有以下代码。
<security-constraint>
<web-resource-collection>
<web-resource-name>Security test</web-resource-name>
<url-pattern>/secure/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>Admin</role-name>
</auth-constraint>
</security-constraint>
<servlet-mapping>
<servlet-name>FrontControllerServlet</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/error.html</form-error-page>
</form-login-config>
</login-config>