在某个地方记录下面的映射:
用户帐号 --> 会话记录
登录时拿帐号去找会话记录,找到了就不让登录。
另外启动一个过期机制,让会话记录本身记录上次活动时间,由过期机制清扫过期的会话,
这样就不会有永远无法再登录的问题了。
【 在 GreyTooWolf (灰太狼) 的大作中提到: 】
: 标 题: 网站对于一个用户账号不允许同时多处登录,应该如何实现
: 发信站: 水木社区 (Wed Nov 4 09:29:00 2009), 站内
:
: 现在有一个系统,登录以后就在数据库中记录下状态为已登录。每次登陆前都要验证此状态为未登录。在用户退出时就在讲数据库中该列记为未登录。
: 现在存在一个问题,如果用户是用直接关闭浏览器的方式离开了,或者用户的浏览器崩溃了,那么用户退出时实际上数据库此列值未被修改,因此用户将永远无法再登陆。如何解决浏览器崩溃时依然可以让用户退出的问题。
: 另外我觉得在数据库中记录用户是否登录不是个好办法。有什么别的方法来解决单一登录的问题吗。
:
: --
:
: ※ 来源:·水木社区 newsmth.net·[FROM: 123.127.137.*]
--
FROM 60.177.59.*