我正在使用 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/