我尝试使用 JAAS 进行身份验证,所以我配置了我的 web.xml:
<security-constraint>
<web-resource-collection>
<web-resource-name>Admin</web-resource-name>
<url-pattern>/servlets/ForbiddenServlet</url-pattern>
</web-resource-collection>
<web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<role-name>admin</role-name>
</security-role>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>Admin</realm-name>
<form-login-config>
<form-login-page>/../pages/login.jsp</form-login-page>
<form-error-page>/../pages/error.jsp</form-error-page>
</form-login-config>
</login-config>
如果我进入我的 ForbiddenServlet 页面,那里只有一个白屏......我认为 login.jsp 会显示。
如果 id 不使用 FORM 并使用 BASIC 代替它可以正常工作!
编辑:“它工作正常!” 我的意思不是显示 login.jsp,而是弹出一个默认登录窗口。