栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

jsf 2.0的“记住我”功能

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jsf 2.0的“记住我”功能

这在某种程度上取决于您当前的登录名是如何工作的。是容器登录后跟自定义内容(例如在会话中放置一些对象)还是仅自定义?

在第一种情况下,您无法在JSF中完全自动登录,因为只要用户尝试访问受保护的资源,容器就会启动。在这种情况下,您仍然需要在过滤器(

HttpServletRequest#login
)中进行容器登录。

对于第一种情况和第二种情况,JSF部分都可以通过global完成

PhaseListener
。在这种情况下,您可以收听非常早的事件,例如
beforeRESTORE_VIEW
。在此事件处理程序中,您可以检查会话中是否放置了任何对象以标记您的登录,如果不存在,请使用
HttpServletRequest
来检查是否存在“记住我”
cookie,并在需要时继续登录。当
PhaseListener
被调用时,JSF是全面运作,你可以访问你的应用程序范围的托管bean。

如果您仅在会话中使用一个对象并且不打扰任何容器登录,那么您只需跳过第一部分。

ps

另一个选择是不将任何数据库内容放入JSF托管Bean中,因此您不需要JSF操作即可访问数据库。在Java EE应用程序中,EJB
bean是替代候选对象(实际上更适合此工作)。它们可以注入到您的过滤器中,并可以在JSF生命周期开始之前用于访问数据库。除了EJB bean,CDI
bean也可以选择。在许多方面,无论如何,这些都是JSF托管bean的更好替代方案。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/407167.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号