1. 程式人生 > >單點登錄系統SSO以及實現技術CAS了解(手記)

單點登錄系統SSO以及實現技術CAS了解(手記)

http 多個 文件中 style 處理 通信 發送 所有 什麽

一.單點登錄

單點登錄(Single Sign On),簡稱為 SSO,是目前比較流行的企業業務整合的 解決方案之一。SSO 的定義是在多個應用系統中,用戶只需要登錄一次就可以訪 問所有相互信任的應用系統。它包括可以將這次主要的登錄映射到其他應用中用 於同一個用戶的登錄的機制。

優點:

1)提高用戶的效率。 用戶不再被多次登錄困擾,也不需要記住多個 ID 和密碼。另外,用戶忘記密碼並求助於支持人員的情況也會減少。 2)提高開發人員的效率。 SSO 為開發人員提供了一個通用的身份驗證框架。實際上,如果 SSO 機制是獨立的,那麽開發人員就完全不需要為身份驗證操心。他們可以假設,只要對應用程序的請求附帶一個用戶名,身份驗證就已經完成了。 3)簡化管理。 如果應用程序加入了單點登錄協議,管理用戶帳號的負擔就會減輕。簡化的程度取決於應用程序,因為 SSO 只處理身份驗證。所以,應用程序可能仍然需要設置用戶的屬性(比如訪問特權)。

缺點:

1)不利於重構 因為涉及到的系統很多,要重構必須要兼容所有的系統,可能很耗時。 2) 無人看守桌面 因為只需要登錄一次,所有的授權的應用系統都可以訪問,可能導致一些很重要的信息泄露。

二.什麽是CAS?

單點登錄典型的技術實現有 CAS;而 CAS(Central Authentication Service) 是 Yale 耶魯大學發起的一個開源項目,旨在為 Web 應用系統提供一種可靠的單點 登錄方法,CAS 開始於 2001 年。

從結構體系看;CAS 包含兩部分:

1、 CAS Server : CAS Server 負責完成對用戶的認證工作,CAS Server 是一臺應用需要獨立部署。 CAS Server 可能會到數據庫或 XML 文件中檢索用戶密碼進行認證工作。

2、 CAS Client :CAS Client 一般表示業務系統(我們開發的項目)但是在項目中添加了 CAS 的各類過濾器;對受保護的資源進行身份認證,它將認證重定向到CAS Server中進行。

三.運行流程視圖

技術分享圖片

技術分享圖片

四.實現步驟:

sso-client

  1. 攔截子系統未登錄用戶請求,跳轉至sso認證中心
  2. 接收並存儲sso認證中心發送的令牌
  3. 與sso-server通信,校驗令牌的有效性
  4. 建立局部會話
  5. 攔截用戶註銷請求,向sso認證中心發送註銷請求
  6. 接收sso認證中心發出的註銷請求,銷毀局部會話

  sso-server

  1. 驗證用戶的登錄信息
  2. 創建全局會話
  3. 創建授權令牌
  4. 與sso-client通信發送令牌
  5. 校驗sso-client令牌有效性
  6. 系統註冊
  7. 接收sso-client註銷請求,註銷所有會話

單點登錄系統SSO以及實現技術CAS了解(手記)