jsf 2.0的“记住我”功能
|
我正在尝试实现“记住我” /“自动登录”功能。我已经在客户端存储了一个cookie,但是什么时候应该阅读它?例如,如果尝试在过滤器中执行此操作,则将无法访问用于访问数据库的应用程序范围的bean。
最佳做法是什么?
没有找到相关结果
已邀请:
2 个回复
脖呐
)中进行容器登录。 对于第一种情况和第二种情况,JSF部分都可以通过全局“ 1”完成。在这种情况下,您可以收听非常早期的事件,例如
。在此事件处理程序中,您可以检查会话中是否放置了任何对象以标记您的登录,如果不存在,请使用
检查是否有“记住我” cookie,然后继续如果需要,请登录。调用ѭ1时,JSF可以完全运行,并且可以访问应用程序范围的托管Bean。 如果您仅在会话中使用一个对象并且不打扰任何容器登录,则只需跳过第一部分。 ps。 另一个选择是不将任何数据库内容放入JSF托管Bean中,因此您不需要JSF操作即可访问数据库。在Java EE应用程序中,EJB bean是替代候选对象(实际上更适合此工作)。它们可以注入到您的过滤器中,并可以在JSF生命周期开始之前用于访问数据库。除了EJB bean,CDI bean也可以选择。在许多方面,无论如何,这些都是JSF托管bean的更好替代方案。
痰降锭骂奸