1. 概述
使用者需要實現透過 CAS(Central Authentication Service,統一身分認證服務)認證登入 FineBI 系統,本文提供配置 CAS 單點登入及登出方法索引。
1.1 CAS 簡介
CAS 架構包括:CAS 伺服器(CAS Server)和 CAS 用戶端(CAS Client)。
CAS 伺服器需要獨立部署,負責使用者資訊的驗證。一般由企業搭建,並可以連結資料庫,建立一張 CAS 使用者表,統一管理使用者資訊。
CAS 用戶端為各個需要單點登入的 Web 應用,如 FineBI ,負責處理資源存取請求,當使用者需要登入 FineBI 系統時,重定向到 CAS 伺服器。
1.2 CAS 登入原理
使用者透過 CAS 認證登入 FineBI 系統的程式如下:
1)瀏覽器存取 FineBI 系統,即存取 CAS 用戶端。
2)用戶端重定向使用者請求到 CAS 伺服器。
3)CAS 伺服器驗證使用者的 CAS 帳號和密碼。
4)驗證透過則發放證件 ticket ,憑藉 ticket 跳轉存取 FineBI 系統。
5)FineBI 系統向 CAS 伺服器驗證 ticket 的真實性,是否過期等資訊。
6)驗證透過後,CAS 伺服器傳回該 ticket 的帳號,FineBI 系統進一步驗證傳回的帳號是否為系統使用者,且為可用狀態,驗證透過,則單點成功,登入 FineBI 系統。
如下圖所示:
2. 方案一:透過插件實現
該方案無需程式碼,可透過插件直接實現,方便簡單。詳情請參見:CAS單點登入插件
3. 方案二:透過程式碼實現
注:本章不適用於行動端;若想實現行動端 CAS 單點登入,請參考本文第二章內容。
3.1 CAS 單點登入
CAS 單點登入步驟如下表所示:
步驟 | 簡介 | 備註 |
---|---|---|
配置 SSL 憑證實現 HTTPS 存取 | 配置 CAS 單點登入需要首先配置網站 HTTPS 支援,否則 CAS 單點登入無法使用 | 必須操作 |
CAS 伺服器搭建 | CAS 單點登入需要透過 CAS 伺服器進行資訊驗證,若使用者已有 CAS 伺服器環境,可忽略該操作 | 選擇性操作 |
實現基於資料庫的身分驗證 | 使用者資訊若儲存在資料庫的某張表中,可參考本文方法實現基於資料庫的身分驗證,使用者根據實際情況選擇是否進行該操作 注:CAS 預設驗證是帳號和密碼相同。若未做這一步,當密碼和帳號相同時,即可透過 CAS 驗證 | 選擇性操作 |
配置 FineBI 作為 CAS 用戶端 | 介紹如何將 FineBI 與 CAS 單點登入結合 | 必須操作 |
3.2 CAS 單點登出
在沒有配置 CAS 單點登出的情況下,當使用者登出平台以後只是登出了平台這一個用戶端,但是其他的用戶端並沒有進行跳出。可參考 CAS 登出方案 實現登出平台的同時登出其他 CAS 用戶端。
3.3 CAS 跨越公共連結
使用者做了 CAS 單點登入後,存取公共連結卻還是需要登入 CAS 用戶端才能存取。使用者有時需要 BI 公共連結跨越 CAS 驗證,直接存取,可參見:CAS 單點登入跨越公共連結