### 什么是SSO沥邻?
- 單點登錄( Single Sign-On , 簡稱 SSO )是目前比較流行的服務于企業(yè)業(yè)務整合的解決方案之一
- SSO 使得在多個應用系統(tǒng)中崇呵,用戶只需要 登錄一次 就可以訪問所有相互信任的應用系統(tǒng)
### SSO 主要實現(xiàn)方式
1. 共享 cookies
基于共享同域的 cookie 是 Web 剛開始階段時使用的一種方式,它利用瀏覽同域名之間自動傳遞 cookies 機制,實現(xiàn)兩個域名之間系統(tǒng)令牌傳遞問題;另外,關(guān)于跨域問題恤溶,雖然 cookies 本身不跨域,但可以利用它實現(xiàn)跨域的 SSO 帜羊。如:代理宏娄、暴露 SSO 令牌值等。
缺點:不靈活而且有不少安全隱患逮壁,已經(jīng)被拋棄孵坚。
2. Broker-based( 基于經(jīng)紀人 )
這種技術(shù)的特點就是,有一個集中的認證和用戶帳號管理的服務器窥淆。經(jīng)紀人給被用于進一步請求的電子身份存取卖宠。中央數(shù)據(jù)庫的使用減少了管理的代價,并為認證提供一個公共和獨立的 " 第三方 " 忧饭。例如 Kerberos 扛伍、 Sesame 、 IBM KryptoKnight (憑證庫思想 ) 等词裤。 Kerberos 是由麻省理工大學發(fā)明的安全認證服務刺洒,已經(jīng)被 UNIX 和 Windows 作為默認的安全認證服務集成進操作系統(tǒng)。
3. Agent-based (基于代理人)
在這種解決方案中吼砂,有一個自動地為不同的應用程序認證用戶身份的代理程序逆航。這個代理程序需要設(shè)計有不同的功能。比如渔肩,它可以使用口令表或加密密鑰來自動地將認證的負擔從用戶移開因俐。代理人被放在服務器上面,在服務器的認證系統(tǒng)和客戶端認證方法之間充當一個 " 翻譯 " 周偎。例如 SSH 等抹剩。
4. Token-based
例如 SecureID,WebID ,現(xiàn)在被廣泛使用的口令認證蓉坎,比如 FTP 澳眷、郵件服務器的登錄認證,這是一種簡單易用的方式蛉艾,實現(xiàn)一個口令在多種應用當中使用钳踊。
5. 基于網(wǎng)關(guān)
6. 基于 SAML
SAML(Security Assertion Markup Language 衷敌,安全斷言標記語言)的出現(xiàn)大大簡化了 SSO ,并被 OASIS 批準為 SSO 的執(zhí)行標準 箍土。開源組織 OpenSAML 實現(xiàn)了 SAML 規(guī)范逢享。
### CAS 請求認證時序圖
![CAS 請求認證時序圖](https://jxi6.com/image/sso/cas_clip_image003.jpg)