單點登入SSO

2021-10-08 14:00:35 字數 887 閱讀 2582

早期單一伺服器,使用者認證。

使用session物件實現

登入成功後把使用者資料放到session中session.setattribute("user",user)

訪問頁面判斷是否登入,從session中取資料,可以獲取到使用者資訊的是登入狀態 session.getattribute("user")

缺點:單點效能壓力,無法擴充套件

分布式,sso(single sign on)模式

1)session廣播機制 session複製

2)cookie+redis實現

在專案任何乙個地方登入,登入以後把資料放到兩個地方1-redis key存唯一隨機值,value存使用者資料 ;2-cookie 把redis裡面生成key放到cookie裡面

訪問頁面的時候取到cookie中的使用者資訊,然後到redis進行查詢,獲取到了資料表示已經登入

3)token實現

token是按照一定規則生成字串可以包含使用者資訊

在專案乙個地方進行登入,然後生成字串並返回,可以通過位址列或者cookie返回

訪問頁面的時候取到字串進行解析,取到了使用者資訊就表示已經登入

實現示例:

優點:無狀態: token無狀態,session有狀態的,基於標準化: 你的api可以採用標準化的 json web token (jwt)

缺點:占用頻寬,無法在伺服器端銷毀

基於微服務開發,選擇token的形式相對較多,因此我使用token作為使用者認證的標準

SSO單點登入

單點登入sso single sign on 就是在多個系統共存的環境下,使用者在一處登入 就不用在其他系統中登入,也就是使用者的一次登入就可以得到其他所有系統的信任。要點 儲存信任 驗證信任 最簡單實現sso的方法就是cookie,實現流程 然而cookie有如下缺點 1 cookie不安全 2 ...

sso單點登入

一 什麼是單點登入sso single sign on sso是一種統一認證和授權機制,指訪問同一伺服器不同應用中的受保護資源的同一使用者,只需要登入一次,即通過乙個應用中的安全驗證後,再訪問其他應用中的受保護資源時,不再需要重新登入驗證。二 單點登入解決了什麼問題 解決了使用者只需要登入一次就可以...

sso單點登入

1 sso single sign on 單點登入 解決了使用者只需要登入一次就可以訪問所有相互信任的應用系統,而不用重複登入,對使用者資訊進行統一管理。2 session共享 分布式中,為了提公升集群效能,我把使用者的session資訊儲存到redis中,key的格式例如 user session...