如何在 JSF 中使用会话实现多用户登录
Posted
技术标签:
【中文标题】如何在 JSF 中使用会话实现多用户登录【英文标题】:How to implement multiple user Login using sessions in JSF 【发布时间】:2012-06-19 09:08:43 【问题描述】:我是 JSF 的新手,我正在开发 Web 项目。
我想实现多用户登录的登录系统。就像 Facebook 或您提供用户名和密码并访问您的帐户的任何其他网站一样。
我想要的另一件事是,如果用户没有登录并且他想要访问(受限)url,他必须被重定向到登录页面。
我什至不知道从哪里开始,但是我知道如何在 Servlet 中进行“会话跟踪”。
谁能给我推荐一个很好的例子或通过示例代码帮助我。
【问题讨论】:
【参考方案1】:据我所知JSF没有特殊的认证功能。
编写您自己的身份验证。只适用于非常简单的场景(没有基于角色的授权等)-
写一个Filter来控制页面访问(检查你的会话。如果用户没有登录,将他重定向到登录页面)
构建登录页面,检查用户凭据并设置登录标志
构建注销方法以清除用户会话中的标志
【讨论】:
【参考方案2】:将登录数据保存在会话范围的 Bean 中。 Here 你有一个完整的 JSF 教程,其中包含一些示例和源代码。查看有关 Managed Beans I 的部分。
实现该功能的基本方法是在用户访问页面时检查用户是否已登录(会话中存储了一个有效的登录 Bean)。如果不是,请重定向到登录页面。 This 是关于检查用户是否使用 Phase Listeners 登录
【讨论】:
不错的 jsf-only 示例。但是相位侦听器还可以保护其他网络资源,例如 pdf、zip 或图像文件?以上是关于如何在 JSF 中使用会话实现多用户登录的主要内容,如果未能解决你的问题,请参考以下文章