1. 程式人生 > 其它 >1.關於CAS SSO單點登入框架原始碼分析

1.關於CAS SSO單點登入框架原始碼分析

1.瞭解單點登入需要原始碼點選這裡

SSO 主要特點是: SSO 應用之間使用 Web 協議(如 HTTPS) ,並且只有一個登入入口.

SSO 的體系中有下面三種角色:

1) User(多個)

2) Web 應用(多個)

3) SSO 認證中心(一個)

2.SSO 實現包含以下三個原則

1) 所有的登入都在 SSO 認證中心進行。

2) SSO 認證中心通過一些方法來告訴 Web 應用當前訪問使用者究竟是不是通過認證的使用者.

3) SSO 認證中心和所有的 Web 應用建立一種信任關係.

3.瞭解單點登入體系結構

1) CAS Server 負責完成對使用者資訊的認證,需要單獨部署,CAS Server 會處理使用者名稱/密碼 等憑證(Credentials).

2) CAS Client 部署在客戶端,當有對本地 Web 應用受保護資源的訪問請求,並且需要對請 求方進行身份認證,重定向到 CAS Server 進行認證.

4.CAS SSO單點登入可以不依賴於cookie跨域的解決方案

不依賴於cookie跨域是比較有優勢的,假如我們在京東商城上登入一次,在京東商城上其實還有很多的站點,點選其他站點以後是直接可以使用而無需重新登入,我們可以很清楚的看到,裡面的域名都是不一樣的,如果用傳統的方案可能會出現cookie跨域的問題,解決起來比較麻煩。

5.CAS SSO單點登入官網:

https://www.apereo.org/projects/cas

6.CAS 原始碼下載地址


進入原始碼下載地址,當前的git庫是正在維護的CAS,也是最新的CAS

CAS最新版本可能存在不穩定的情況,所以這種下載方式我們也不建議使用,可以點選releases檢視不同的版本,下載使用比較穩定的版本。



7.通過下載穩定版本的方式下載cas的相關原始碼包,如下:


直接選擇4.2.1的穩定程式碼即可

8.我們專案中的版本版本使用maven apereo遠端庫去下載

通過遠端maven庫下載cas-server-webapp的war包,步驟如下:

(一)訪問Maven地址: http://mvnrepository.com/,並搜尋cas-server-webapp


(二)點選cas-server-webapp連結地址,下載最新的版本



9.下載cas-client-core的jar包,如下:


10.CAS document文件,cas使用spring mvc開發,支援的協議,支援的開發語言等



CAS的架構圖:



Cas的安裝要求(我們專案例項使用server版本4.2.7,clent版本是3.3):



需要原始碼點選這裡

到此結束!!