介紹

觀念

1. CAS

CAS(Central Authentication Service,中央認證服務)
由耶魯大學發起的開源 Web SSO(單一簽入) 實作框架。

2. SSO(單一簽入)

將多個網站應用的身分登入驗證統一至單一入口完成。

  • 特性:各應用透過 Web 通訊協定(HTTPS)互相溝通,具備全域唯一登入入口
  • 淺白解釋:同一個瀏覽器只要在認證中心登入一次,存取所有信任的網站就不用重複登入

3. SSO 體系的三大角色

  1. User:終端使用者(瀏覽器)
  2. Web 應用程式(多個業務系統)
  3. SSO 認證中心(唯一)

4. SSO 三大核心原則

  1. 所有帳號登入動作統一在 SSO 認證中心執行
  2. 認證中心提供機制,通知各個 Web 應用程式目前使用者是否已經完成認證;
  3. 認證中心必須和所有業務 Web 應用程式預先建立信任關係。
兩大核心元件

CAS Server(認證伺服器端)

  • 獨立部署的 Web 程式,也就是唯一的認證中心
  • 職責:接收帳號密碼、驗證使用者身分;簽發票據(Ticket)、管理全域會議 Cookie(TGC)

CAS Client(用戶端,內嵌於各業務系統)

  • 部署在各個業務 Web 應用程式內,一般以過濾器 Filter 的形式實作
  • 職責:攔截受保護資源的請求;使用者尚未登入時,自動將瀏覽器重新導向至 CAS Server 登入頁面

運作流程

  1. 使用者存取業務系統資源 → CAS Client 攔截請求,發現請求中沒有 Service Ticket
  2. Client 將瀏覽器重新導向到 CAS Server 登入位址,並攜帶當前業務系統位址(Service)
  3. 使用者在 CAS 伺服器端輸入帳號密碼完成登入認證
    • 登入成功:CAS Server 在瀏覽器寫入 TGC(Ticket Granting Cookie)全域會議 Cookie
    • 產生一次性票據:Service Ticket(ST)
  4. CAS Server 再次重新導向瀏覽器,回到業務系統位址,URL 參數帶上 Ticket=xxx
  5. 業務系統的 CAS Client 在後端發起伺服器請求,帶上 Service 位址與 Ticket,向 CAS Server 驗證票據是否合法
  6. CAS Server 確認票據有效,回傳使用者身分資訊(使用者名稱等)
  7. 驗證通過,業務系統建立本機會議,使用者就可以正常瀏覽頁面

TGC 的作用:只要瀏覽器保留 TGC Cookie,之後存取其他接入 CAS 的系統時,就不會彈出登入頁,自動完成單一簽入。

介紹

Next:

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *