Heim  >  Artikel  >  Backend-Entwicklung  >  就像12306在电脑上登录,手机上就退出了这种情况是怎么实现的?

就像12306在电脑上登录,手机上就退出了这种情况是怎么实现的?

WBOY
WBOYOriginal
2016-08-04 09:20:572149Durchsuche

用数据库控制,保存用户状态id,实现只能在一个机器上登录

我这里单点登录的意思就是在一个地方登录,其他系统就不用再登录了

就像12306在电脑上登录,手机上就退出了这种情况。

回复内容:

用数据库控制,保存用户状态id,实现只能在一个机器上登录

我这里单点登录的意思就是在一个地方登录,其他系统就不用再登录了

就像12306在电脑上登录,手机上就退出了这种情况。

谢谢邀请。唯一登陆限制,用户每次登陆都设置生成一个唯一id或者令牌最好以时间做限制,永远保持最新的有效即可。

登录操作生成一个登录令牌保存到数据库里并把旧令牌数据删掉,这样可以保证只有一个Client登录帐号。无效的登录令牌就让它退出咯

根据session_id,记录最新的session_id,旧的无效

思路用唯一登录限制,以及消息推送实现实时退出。我做的话,我会把临牌在memcache里面保存一份,本地网站保存一份,在新的地点登录的时候更新memcache上面的令牌,检测网站本地令牌是否和memcache里面的一致,不一致的就是旧登录点,然后踢除就可以了。

你没问清楚
你是想要 pc已登录手机就退出,手机一登录pc就退出。还是说pc一登录当手机端进行下一次操作的时候退出,手机一登,那么pc端进行下一次会话的时候退出。二者 一个是主动 一个是被动 ,如果是主动那么 楼上回答的均可。如果是被动:
手机端可以建立sevice用于后台服务
pc端可以用socket通信 。要不就是ajax定时请求去完成

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn