單點登錄系統SSO以及實現技術CAS了解(手記)
阿新 • • 發佈:2018-07-16
http 多個 文件中 style 處理 通信 發送 所有 什麽 缺點:
1)不利於重構
因為涉及到的系統很多,要重構必須要兼容所有的系統,可能很耗時。
2) 無人看守桌面
因為只需要登錄一次,所有的授權的應用系統都可以訪問,可能導致一些很重要的信息泄露。
一.單點登錄
單點登錄(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
- 攔截子系統未登錄用戶請求,跳轉至sso認證中心
- 接收並存儲sso認證中心發送的令牌
- 與sso-server通信,校驗令牌的有效性
- 建立局部會話
- 攔截用戶註銷請求,向sso認證中心發送註銷請求
- 接收sso認證中心發出的註銷請求,銷毀局部會話
sso-server
- 驗證用戶的登錄信息
- 創建全局會話
- 創建授權令牌
- 與sso-client通信發送令牌
- 校驗sso-client令牌有效性
- 系統註冊
- 接收sso-client註銷請求,註銷所有會話
單點登錄系統SSO以及實現技術CAS了解(手記)