首頁  >  文章  >  後端開發  >  就像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