- 主题:网站对于一个用户账号不允许同时多处登录,应该如何实现
现在的问题只有一个,要实现单一登录,也就是单一session,那么必然有一个单点来对session进行控制。“应用程序自己处理保存”的话,如何满足这个需求?
【 在 JulyClyde (torred) 的大作中提到: 】
: 由应用服务器把session保存到共享的存储机制中
: 和
: 由应用程序员自己处理保存
: ...................
--
修改:sayinger FROM 202.106.68.*
FROM 202.106.68.*
上面你不是也说了嘛
存到数据库里去啊
【 在 sayinger (言者) 的大作中提到: 】
: 现在的问题只有一个,要实现单一登录,也就是单一session,那么必然有一个单点来对session进行控制。“应用程序自己处理保存”的话,如何满足这个需求?
--
FROM 124.205.200.*
存在session里,监听session timeout事件
做过一个用activex的,将用户机器信息hash成一个字符串,首次登陆时记录,下次登陆时比较
感觉要严格的单一登录的话,没什么更好的办法
【 在 GreyTooWolf (灰太狼) 的大作中提到: 】
: 现在有一个系统,登录以后就在数据库中记录下状态为已登录。每次登陆前都要验证此状态为未登录。在用户退出时就在讲数据库中该列记为未登录。
: 现在存在一个问题,如果用户是用直接关闭浏览器的方式离开了,或者用户的浏览器崩溃了,那么用户退出时实际上数据库此列值未被修改,因此用户将永远无法再登陆。如何解决浏览器崩溃时依然可以让用户退出的问题。
: 另外我觉得在数据库中记录用户是否登录不是个好办法。有什么别的方法来解决单一登录的问题吗。
: ...................
--
FROM 159.226.169.*
For some platforms such as PHP, db and fs are the only reliable persistent implementation.
【 在 JulyClyde (torred) 的大作中提到: 】
: 为啥要保存在数据库里面?
: 应用服务器本身会有session过期的概念的,在那里处理
--
FROM 222.128.21.*
默认的是fs吧?除了fs、db还有哪些?
【 在 Illidian (Demon Hunter) 的大作中提到: 】
: For some platforms such as PHP, db and fs are the only reliable persistent implementation.
--
FROM 61.48.188.*
在某个地方记录下面的映射:
用户帐号 --> 会话记录
登录时拿帐号去找会话记录,找到了就不让登录。
另外启动一个过期机制,让会话记录本身记录上次活动时间,由过期机制清扫过期的会话,
这样就不会有永远无法再登录的问题了。
【 在 GreyTooWolf (灰太狼) 的大作中提到: 】
: 标 题: 网站对于一个用户账号不允许同时多处登录,应该如何实现
: 发信站: 水木社区 (Wed Nov 4 09:29:00 2009), 站内
:
: 现在有一个系统,登录以后就在数据库中记录下状态为已登录。每次登陆前都要验证此状态为未登录。在用户退出时就在讲数据库中该列记为未登录。
: 现在存在一个问题,如果用户是用直接关闭浏览器的方式离开了,或者用户的浏览器崩溃了,那么用户退出时实际上数据库此列值未被修改,因此用户将永远无法再登陆。如何解决浏览器崩溃时依然可以让用户退出的问题。
: 另外我觉得在数据库中记录用户是否登录不是个好办法。有什么别的方法来解决单一登录的问题吗。
:
: --
:
: ※ 来源:·水木社区 newsmth.net·[FROM: 123.127.137.*]
--
FROM 60.177.59.*
印象中,discuz是保存在数据库里的
【 在 GreyTooWolf (灰太狼) 的大作中提到: 】
: 现在有一个系统,登录以后就在数据库中记录下状态为已登录。每次登陆前都要验证此状态为未登录。在用户退出时就在讲数据库中该列记为未登录。
: 现在存在一个问题,如果用户是用直接关闭浏览器的方式离开了,或者用户的浏览器崩溃了,那么用户退出时实际上数据库此列值未被修改,因此用户将永远无法再登陆。如何解决浏览器崩溃时依然可以让用户退出的问题。
: 另外我觉得在数据库中记录用户是否登录不是个好办法。有什么别的方法来解决单一登录的问题吗。
: ...................
--
FROM 162.105.221.*