sso
單點登入是指在多個應用系統中,使用者只需要登入一次就可以訪問所有相互信任的應用系統。
如果系統是使用session
來記錄使用者資訊的話,那麼就可以採用共享session
的方式進行實現單點登入,使用session
資訊作為單點登入的方式就需要解決兩個問題,一是子系統的session
是相互隔離的問題,二是使用者的sessionid
如何在客戶端共享的問題。
session
的一致性的解決方案主要有session
同步、session
集中儲存的方式,session
同步比較消耗資源,所以一般還是使用session
集中儲存的方式。
對於sessionid
在客戶端共享的問題,sessionid
主要還是儲存在cookie
中,所以需要解決的問題是cookie
的跨域問題,對於同乙個頂級網域名稱下的二級網域名稱,可以通過在set-cookie
時設定domain
屬性為頂級網域名稱,即可實現在頂級網域名稱與二級網域名稱**網域名稱下的cookie
共享,若是需要非子網域名稱下的cookie
共享,可以考慮使用p3p
隱私參考專案平台platform for privacy preferences
的header
的方式跨域set-cookie
。
ticket
方式也稱為sso-token
,其是乙個使用者身份的標識,這個標識在所有子系統群中是唯一的,並且所有的子系統server
都可以驗證這個token
並同時能夠拿到這個token
所代表的使用者資訊,同樣這種方式也需要解決cookie
的跨域問題,同樣一般也是需要使用頂級網域名稱的domain
屬性或者p3p
的header
的跨域set-cookie
。
cas
**認證服務central authentication service
,將認證服務單獨抽出作為乙個子系統,所有的登入認證服務都在cas
認證中心進行。cas
系統像是乙個中轉中心,可以認證所有使用者的身份,同樣也可以直接通過在cas
系統登入後以登入態跳轉到其他各個系統。
假如我們存在三個子系統,a
系統a.com
、b
系統b.com
、認證服務sso.com
,當使用者已經註冊,登入時的主要流程:
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...