統一認證 - Apereo CAS 簡介

爲什麼要做這個嘗試?

微服之道,方興未艾;農之來學者,蓋已千者! 這句是從《陶山集·太學案問》瞎改出來的。意思就是微服務的架構理念還在不斷地發展,現在整個啥都 言必出微服務,差點都到了 沒學過微服務的碼農不是一個好碼農。搞到微服務這個詞都快跟區塊鏈差不多臭了。

在將臭未臭之前,我們趕緊把其中的統一認證這塊過一下。

在微服務的概念中,恨不得每一個API都起一個獨立的微服務,所有一個系統有幾十個,甚至成百上千個獨立的微服務也不見怪。 而安全又是每一個服務都必須面對的問題!如果讓每一個微服務都獨立處理的話,那Martin Fowler估計早就被碼農拉去祭天了。所以統一認證大勢所趨,將安全有關的認證與授權集中到一個服務中進行處理,各個微服務只需簡單校驗即可,無需另起爐竈!

統一認證的開源實現有很多,目前比較出名的有Apereo CAS (發音爲 /kæ's/),Keycloak等,我們儘量都介紹到,今天先看一下Apereo CAS

什麼是Apereo CAS

首先CAS是Central Authentication Service的首字母縮寫,Apereo CAS 是由耶魯大學實驗室2002年出的一個開源的統一認證服務。

據官網介紹,Apereo CAS是一個開源的企業級單點登錄系統,包括瞭如下特性:

  • 基於SpringBoot開發的Java系統
  • 一個開放且各種手冊齊全的協議
  • 以可插拔的形式支持各種認證協議(LDAP, database, X.509, 2-factor)
  • 支持各種認證協議(CAS, SAML, OAuth, OpenID)
  • 各種客戶端應有盡有(Java, .Net, PHP, Perl, Apache, uPortal)
  • 跟各種 不大出名 的系統集成 (uPortal, BlueSocket, TikiWiki, Mule, Liferay, Moodle)
  • 社區文檔大把,有問題就吹街

Apereo CAS的架構與組成

碼農上手一個新東西,第一時間還不趕緊把它的架構摟兩眼
圖片描述

從這個圖可以看到,Apereo CAS主要組成就兩大組件,一個服務器端,還有各種語言的客戶端。

應用程序通過CAS的客戶端,攔截校驗用戶請求是否通過認證,如果尚未認證,則重定向到CAS服務端的用戶登錄頁面進行登錄,登錄成功後,會生成一個ticket給迴應用程序,下次用戶請求帶着這個ticket就所向無阻。

Apereo CAS的歷史

前面說了Apereo CAS是耶魯大學Technology and Planning實驗室的Shawn Bayern 在2002年出的一個開源系統。剛開始名字叫Yale CAS。 Yale CAS 1.0的目標只是一個單點登錄的系統,隨着慢慢用開,功能就越來越多了,2.0就提供了多種認證的方式。目前版本爲6.0

2004年12月,CAS轉成JASIG(Java Administration Special Interesting Group)的一個項目,項目也隨着改名爲 JASIG CAS,這就是爲什麼現在有些CAS的鏈接還是有jasig的字樣。

2012年,JASIG跟Sakai基金會合並,改名爲Apereo基金會,所有CAS也隨着改名爲Apereo CAS.

看起來這娃也不容易,嫁雞隨雞,名字都改了3次了。

結論?

關於Apereo CAS能不能用的結論這裏先不下,等到後面介紹安裝部署集成的文章寫完再一起看看。 這次我們先看看Apereo CAS官網出的一幅圖,這張圖片介紹了Apereo的組成以及支持的各種協議,各種特性,不煩看看

圖片描述

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