0

我正在使用 PrettyFaces 3.3.3。我有一个要求,如果用户试图查看一个页面,但没有登录,他们会被发送到登录页面,然后重定向到他们想要查看的原始页面。只是想知道什么是最好的方法。

4

1 回答 1

1

您可能需要一个安全框架。基本思想是您希望在安全过滤器中拦截请求的 URL,将其保存到用户的会话中,然后在身份验证完成后(例如,用户已使用其凭据提交表单,或您正在使用的任何机制)您从用户的会话中检索保存的 URL 并对其执行 302 重定向。

这不是 PrettyFaces 可以直接帮助您的事情,只是您可以使用它更轻松地捕获 URLPrettyContext.getCurrentInstance(request).getRequestURL();

这里有一篇关于这个的文章:http: //ocpsoft.org/java/jsf-java/spring-security-what-happens-after-you-log-in/

使用OCPsoft Rewrite(PrettyFaces 4 的核心),您也可以通过编程方式执行此操作,甚至可以直接在您的安全规则或注释配置中进行身份验证:https ://github.com/ocpsoft/prettyfaces/blob/master/annotations/src /test/java/org/ocpsoft/prettyfaces/annotation/jaas/JaasRolesBean.java

这是即将推出的功能,但尚未完成 - 我们希望得到反馈。

于 2012-04-20T17:23:38.600 回答