2012-04-11 54 views
0

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

回答

1

您可能需要一个安全框架。基本的想法是,你想要在你的安全过滤器中拦截所请求的URL,将它保存到用户的会话中,然后一旦完成认证(例如,用户已经用他们的凭证提交了表单,或者你正在使用的任何机制)您从用户的会话中检索保存的URL并对其执行302重定向。

这不是PrettyFaces将帮助您直接,但您可以使用它轻松的捕捉到URL中使用PrettyContext.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

这是即将推出的功能,但尚未完成 - 我们很乐意提供反馈。

+0

感谢您的回复。我最终使用了一个阶段监听器,但是在不太遥远的将来,我们会牢记这些选项。 – JasonI 2012-04-21 15:06:33