首页 新闻 会员 周边

求思路:一个帐号第二次登陆时,自动将第一次登录的客户端注销掉

0
[已解决问题] 解决于 2010-04-27 18:26

求思路:一个帐号第二次登陆时,自动将第一次登录的客户端注销掉

拖鞋王子的主页 拖鞋王子 | 初学一级 | 园豆:37
提问于:2010-04-27 15:12
< >
分享
最佳答案
0

可以尝试使用缓存来解决,当第二登陆时,更新一下缓存并加上标识项,而客户端要实现定时去请求服务器端缓存中是否有更新,如果有更新则提示退出注销。

Astar | 高人七级 |园豆:40805 | 2010-04-27 15:22
这样第二个登录的用户的去请求的时候也会检测到有更新,也要被注销的
拖鞋王子 | 园豆:37 (初学一级) | 2010-04-27 15:31
@拖鞋王子:你可以把它的登陆时间(或其它标识)记录到缓存里,而把第一次登陆时间也对应记录到本地cookie里,这样定时请求的标识会一样呀。
Astar | 园豆:40805 (高人七级) | 2010-04-27 16:09
登录的时候把标识存到缓存里了,那请求的时候怎么获取这个标识呢,你讲一下怎么存,Dictionary还是什么
拖鞋王子 | 园豆:37 (初学一级) | 2010-04-27 16:55
@拖鞋王子:在缓存中放一个HastTable,key=用户名,value=最后一次登陆时间。当用户第一次登陆成功时,写入这个键值对,并把最后一次登陆的时候返回到客户端,并记录到Cookie中,客户端用JS定时去读取服务器缓存中的键值对值,与客户端的比较,如果不同说明已经有第一次成功登陆。登陆成功需要更新这个键值对,并返回修改客户端的Cookie. 强烈要求博客园给博问增加回复邮件提醒功能!
Astar | 园豆:40805 (高人七级) | 2010-04-27 17:23
嗯谢谢,你这个方案应该可行,不过我这里一个网页游戏的功能,就是一个通行证登录之后,然后选择一个游戏,如果用户第二次选择那个游戏的时候就强制让第一次选的客户端退出
拖鞋王子 | 园豆:37 (初学一级) | 2010-04-27 18:26
后来用了socket
拖鞋王子 | 园豆:37 (初学一级) | 2010-04-27 18:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册