>  기사  >  백엔드 개발  >  就像12306在电脑上登录,手机上就退出了这种情况是怎么实现的?

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

WBOY
WBOY원래의
2016-08-04 09:20:572150검색

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

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

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

回复内容:

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

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

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

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

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

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

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

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.