統一認證 - Apereo CAS 簡介

爲何要作這個嘗試?

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

在將臭未臭以前,咱們趕忙把其中的統一認證這塊過一下。安全

在微服務的概念中,巴不得每個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就所向無阻。spa

Apereo CAS的歷史

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

2004年12月,CAS轉成JASIG(Java Administration Special Interesting Group)的一個項目,項目也隨着更名爲 JASIG CAS,這就是爲何如今有些CAS的連接仍是有jasig的字樣。code

2012年,JASIG跟Sakai基金會合並,更名爲Apereo基金會,全部CAS也隨着更名爲Apereo CAS. htm

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

結論?

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

圖片描述

相關文章
相關標籤/搜索