CAS單點登錄系列(二)- CAS架構 【翻譯】

cas版本 5.3.x,此版本下一個版本v6.0.x需要JDK11,目前個人常用還僅限於JDK8。

架構

CAS Architecture Diagram

系統組件

CAS服務端和衆多客戶端組成CAS系統架構的2大物理組件,2大組件通過各種協議進行通信交互。

CAS 服務端

CAS 服務端是java servlet應用,構建在spring framework之上,它的主要作用是進行用戶身份認證和賦予用戶進入相關啓動了CAS功能的被稱爲CAS客戶端的應用服務,完成這些功能是通過發出和驗證票據。當用戶登錄成功,CAS服務端會發出一個TGT,服務端會話創建。ST票據信息會在用戶以TGT作爲token在瀏覽器地址中訪問應用服務。ST隨後被CAS服務端通過後臺通道校驗。這些交互過程在CAS 協議中進行了詳細的描述。

CAS 客戶端

術語"CAS客戶端”有兩層不同的含義。cas客戶端可以是任何啓用了CAS的應用程序,可以通過受支持的協議與CAS服務端通信。cas客戶端是軟件包,可以與各種軟件平臺和應用程序集成,以便通過某些身份驗證協議(如CAS、SAML、OAuth)與CAS服務端通信。支持多個軟件平臺和產品的CAS客戶端已經開發完成。

支持的平臺:

支持的應用產品

  • Canvas
  • Atlassian Confluence
  • Atlassian JIRA
  • Drupal
  • Liferay
  • uPortal

當術語“CAS客戶端”在本手冊中沒有進一步限定時,它是指集成組件,如Java CAS客戶端,而不是依賴於CAS服務端的應用程序。

支持的協議:

客戶端通過幾種受支持的協議之一與服務器通信。所有受支持的協議在概念上都是相似的,但是有些協議具有某些特性,使它們適合於特定的應用程序或場景。例如,CAS協議支持委託(代理)身份驗證,SAML協議支持屬性釋放和單點退出。

 

軟件組件

將CAS服務器描述爲三層子系統是很有幫助的:

       幾乎所有的部署考慮和組件配置都涉及到這三個子系統。Web層是與所有外部系統(包括CAS客戶端)通信的端點。Web層委託給票據子系統生成用於CAS客戶端訪問的票據。SSO會話從成功身份驗證的票據頒發票據開始,因此票據子系統經常委託給身份驗證子系統。

Spring Framework

    CAS使用了Spring框架的許多方面;最值得注意的是Spring MVC和Spring Webflow。Spring爲核心CAS代碼庫和部署人員提供了一個完整的、可擴展的框架;通過連接CAS和Spring API擴展點,可以直接定製或擴展CAS行爲。Spring的一般知識有助於理解一些框架組件之間的相互作用,但這不是嚴格要求的。

Spring Boot

        CAS也主要基於Spring Boot,這使它能夠以Spring平臺和第三方庫的觀點創建獨立的web應用程序,儘可能避免XML配置的麻煩。Spring Boot允許CAS隱藏其組件及其配置的大部分內部複雜性,並提供自動配置模塊,這些模塊可以簡單而自動地配置正在運行的應用程序上下文,而不需要太多的手動干預。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章