日期:2014-05-17  浏览次数:20547 次

如何只让一个用户登陆一个系统?
当A用户登陆系统时在数据库记录状态为登陆,B用户就登陆不了,但是这个方法有BUG
A用户意外断电或者非正常关闭浏览器的时候就修改不了数据库这样,下次这用户登陆时就登陆不了.
用什么好办法解决一个系统只能登陆一个用户.
数据库 浏览器 登陆?

------解决方案--------------------
用后来的用户顶掉前头的用户,断电之类的问题就可以避免了。
qq就是这么做的。
------解决方案--------------------
页面上一段AJAX代码,每隔1分钟更新数据库里的一个时间字段,当有另外用户登录时,如果这个时间与当前时间的差大于1分钟,说明数据库已经超过既定的时间没有更新了,可以理解为原来的用户下线了。如果小于1分钟,则表示还有另外一个用户在线,不允许登录。

当然这种方式、session方式、缓存方式、都有一定的时间误差。最准确的自然是bwangel说的方法,但他说的这种办法大部分适合不能符合客户需求。。。