在使用容器管理的安全性的 JSF2 / Java EE 6 Web 应用程序中,基于表单的身份验证 (j_security_check) 需要请求一个受保护的页面,之后容器会为您处理登录过程,一旦通过身份验证,就会将浏览器重定向到请求的页面.
在许多常见情况下,这不是您希望应用程序的行为方式。例如,您可能希望拥有同一页面的只读版本和可更新版本。如果用户未登录,您可以在该页面上放置一个“立即登录以编辑”按钮,如果用户已登录,则使字段可编辑。但在两种情况下它都是相同的 JSF 页面,并且该视图不能既不受保护又受保护,因此 j_security_check 似乎无法处理这种情况。
所以,两个问题:
1) 可以操纵 j_security_check 来实现此功能吗?或 2) 如果 j_security_check 不能,JSF / JavaEE webapps 实现这一点的“正常”方式是什么?