java - 单点登录ticket怎么保存在服务端,怎么发送给用户?
PHP中文网
PHP中文网 2017-04-17 18:00:25
0
1
278

PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(1)
左手右手慢动作

解決方案有很多啊:
1.用戶透過在單一登入伺服器登陸,登入成功後,單點登入伺服器分配給該用戶一個ticket。然後單一登入伺服器將該ticket做為key,使用者名稱做為value,儲存在redis中。透過判斷該key是否是有效的來判斷該使用者會話有效。
後續會有服務透過傳送一個ticket到單一登入伺服器來驗證該ticket是否有效,來判斷該使用者是否登入了。
但是這樣會有個問題,某個用戶肯能不停的登錄,這樣單點登錄伺服器每次都會將該ticket存儲在redis中,雖然該ticket有過期時間,但有可能在短時間內在redis中寫入大量的ticket。
2.放在cookie中,透過cookie的方式,傳到客戶端。若被用戶端瀏覽器停用了,就不能用了
3.綁定到session。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!