SSO單點登陸原理

什麼是SSO?

  • 單點登陸( Single Sign-On , 簡稱 SSO )是目前比較流行的服務於企業業務整合的解決方案之一
  • SSO 使得在多個應用系統中,用戶只須要 登陸一次 就能夠訪問全部相互信任的應用系統

SSO 主要實現方式

  1. 共享 cookies

基於共享同域的 cookie 是 Web 剛開始階段時使用的一種方式,它利用瀏覽同域名之間自動傳遞 cookies 機制,實現兩個域名之間系統令牌傳遞問題;另外,關於跨域問題,雖然 cookies 自己不跨域,但能夠利用它實現跨域的 SSO 。如:代理、暴露 SSO 令牌值等。
缺點:不靈活並且有很多安全隱患,已經被拋棄。數據庫

  1. Broker-based( 基於經紀人 )

這種技術的特色就是,有一個集中的認證和用戶賬號管理的服務器。經紀人給被用於進一步請求的電子身份存取。中央數據庫的使用減小了管理的代價,併爲認證提供一個公共和獨立的 " 第三方 " 。例如 Kerberos 、 Sesame 、 IBM KryptoKnight (憑證庫思想 ) 等。 Kerberos 是由麻省理工大學發明的安全認證服務,已經被 UNIX 和 Windows 做爲默認的安全認證服務集成進操做系統。跨域

  1. Agent-based (基於代理人)

在這種解決方案中,有一個自動地爲不一樣的應用程序認證用戶身份的代理程序。這個代理程序須要設計有不一樣的功能。好比,它能夠使用口令表或加密密鑰來自動地將認證的負擔從用戶移開。代理人被放在服務器上面,在服務器的認證系統和客戶端認證方法之間充當一個 " 翻譯 " 。例如 SSH 等。安全

  1. Token-based

例如 SecureID,WebID ,如今被普遍使用的口令認證,好比 FTP 、郵件服務器的登陸認證,這是一種簡單易用的方式,實現一個口令在多種應用當中使用。服務器

  1. 基於網關
  2. 基於 SAML

SAML(Security Assertion Markup Language ,安全斷言標記語言)的出現大大簡化了 SSO ,並被 OASIS 批准爲 SSO 的執行標準 。開源組織 OpenSAML 實現了 SAML 規範。cookie

CAS 請求認證時序圖

CAS 請求認證時序圖

  • 最近公司在弄也打算作一個,做個爲初步瞭解,下篇寫寫具體實現步驟
相關文章
相關標籤/搜索