java - JSF 同时登录 两个用户

标签 java jsf authentication

我正在使用 Java 和 JSF 开发 Web 应用程序。我有一个简单的登录,如果它在数据库中找到用户,它会创建一个 session 并在其中存储一些信息。效果很好。 问题是,我想避免两个不同的人同时使用相同的用户名和密码。比如帐户共享之类的。一次只有一名用户登录。 我一直在想这个问题,但找不到正确的方法。

预先感谢您的所有帮助。

最佳答案

我能想到的一种方法是将一个 boolean 字段 logged_in 放入数据库,并在有人登录时将其设置为 true,并在有人注销或 session 过期时将其设置为 false。当有人注销时将其设置为 false 很容易。对于 session 过期部分,我相信使用 JSF,您有一个 SessionScope 托管 bean,在用户登录后存储有关用户的信息。您可以为该托管 bean 实现一个 @PreDestroy 方法,并要求它设置在 session 过期事件中删除该字段之前,将该字段设置为 false。

当有人通过登录面板向服务器发送“用户名”和“密码”时,您只需检查 logged_in 字段是否为 true 即可。

关于java - JSF 同时登录 两个用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7940739/

相关文章:

java - 如何使用 Win32 API 直接从驱动器读取/写入驱动器

java - JSP 中的文档对象

java - IntelliJ 像在 Visual Studio 中一样自动创建私有(private)字段/方法?

JSF 更新复合组件 (Primefaces)

jsf - primefaces inputText 输入字符串,但只允许数字

php - 登录和注册系统出现问题。接收和错误

ios - 无法转换值问题 Swift iOS

java - 安装jhipster后JAVA_HOME被设置为无效目录

java - 如何在第二个 JSF 项目中运行一个 JSF WAR 文件?

Python通过文本文件登录