用户非正常退出,怎么判定?

2013-08-01 11:42:52 +08:00
 fanghui
系统实现的用户功能是一个账号不能重复登录,如果它已经登录,在其它窗口不允许重复登录。用户如果非正常退出,他只能到明天才可登录。这种设计,需要判定用户的多种非正常退出。
想到的非正常退出情况:
1.服务器端系统异常。
2.会话超时。
3.未退出的情况下,关闭浏览器。
4.用户网络不稳定掉线。
5.用户在登录的状态下,关机(掉电)了

上述5种情况,前2中到相应好解决,后几种不知怎么判断。还请多提前建议,思路或代码.
或有其它的解决方法也可以,多谢了
3861 次点击
所在节点    问与答
10 条回复
nybux
2013-08-01 12:10:50 +08:00
后面3种都属于会话超时
fanghui
2013-08-01 12:27:34 +08:00
现在是登录后,给他个状态码,如用户网络不稳定突然掉线了,这样,他再次登录就登录不上了
nsxuan
2013-08-01 12:56:41 +08:00
思路错了
通常的做法是 允许重复登陆,但是上一个会话就终止了
fangzhzh
2013-08-01 13:47:55 +08:00
提供一个通用思路: 心跳.
超过一段时间,没有心跳, 就是断开.
mengsidongwan
2013-08-01 14:06:50 +08:00
问百度呀 www.baidu.com
fanghui
2013-08-01 14:15:32 +08:00
是啊,大神说的,允许重复登录,把上一个会话给挤掉
qifei
2013-08-01 14:17:16 +08:00
不是正常退出的都歸為不正常退出
fanghui
2013-08-01 14:42:07 +08:00
没错,web程序,不是实时性很高,心跳不太合适
wotodoo
2013-08-01 15:53:23 +08:00
这需求有点儿...
@nsxuan 的说法应该更合理些
允许重复登录,但第二次登录时可以给用户提醒,让用户来决定是踢掉前一个登录的还是本次放弃登录
这样实现就比较简单了,拿到上一次登录的session,让他失效就可以了

如果按照你的需求做,就掉到坑里了,意外情况太多了
xiaoye5200
2013-08-01 16:48:26 +08:00
心跳解决全部

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/77639

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX