我在 Glassfish 3.1.2.2 上使用 JDBC 领域身份验证运行 JSF 应用程序。
我想知道是否无论如何我可以禁用每当有人尝试访问受限页面但未登录时出现的登录弹出窗口,而是引发错误 401(自动重定向到我页面的登录页面)以保持 UX 的一致性。
我在 Glassfish 3.1.2.2 上使用 JDBC 领域身份验证运行 JSF 应用程序。
我想知道是否无论如何我可以禁用每当有人尝试访问受限页面但未登录时出现的登录弹出窗口,而是引发错误 401(自动重定向到我页面的登录页面)以保持 UX 的一致性。
您必须将 web.xml 安全约束 login-config auth-method 设置为 FORM 登录:
<login-config>
<auth-method>FORM</auth-method>
<realm-name>You can but you are not forced to supply a realm here</realm-name>
<form-login-config>
<form-login-page>/login.xhtml</form-login-page>
<form-error-page>/access-forbidden.xhtml</form-error-page>
</form-login-config>
</login-config>
像这样保护您的页面:
<security-constraint>
<web-resource-collection>
<url-pattern>/index.xhtml</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>Manager</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<role-name>Manager</role-name>
</security-role>