微服之道,方興未艾;農之來學者,蓋已千者!
這句是從《陶山集·太學案問》瞎改出來的。意思就是微服務的架構理念還在不斷地發展,如今整個啥都 言必出微服務,差點都到了 沒學過微服務的碼農不是一個好碼農
。搞到微服務這個詞都快跟區塊鏈差很少臭了。html
在將臭未臭以前,咱們趕忙把其中的統一認證這塊過一下。安全
在微服務的概念中,巴不得每個API都起一個獨立的微服務,全部一個系統有幾十個,甚至成百上千個獨立的微服務也不見怪。 而安全又是每個服務都必須面對的問題!若是讓每個微服務都獨立處理的話,那Martin Fowler估計早就被碼農拉去祭天了。因此統一認證大勢所趨,將安全有關的認證與受權集中到一個服務中進行處理,各個微服務只需簡單校驗便可,無需另起爐竈!服務器
統一認證的開源實現有不少,目前比較出名的有Apereo CAS (發音爲 /kæ's/),Keycloak等,咱們儘可能都介紹到,今天先看一下Apereo CAS
首先CAS是Central Authentication Service的首字母縮寫,Apereo CAS 是由耶魯大學實驗室2002年出的一個開源的統一認證服務。架構
據官網介紹,Apereo CAS是一個開源的企業級單點登陸系統,包括了以下特性:微服務
碼農上手一個新東西,第一時間還不趕忙把它的架構摟兩眼
從這個圖能夠看到,Apereo CAS主要組成就兩大組件,一個服務器端,還有各類語言的客戶端。區塊鏈
應用程序經過CAS的客戶端,攔截校驗用戶請求是否經過認證,若是還沒有認證,則重定向到CAS服務端的用戶登陸頁面進行登陸,登陸成功後,會生成一個ticket給迴應用程序,下次用戶請求帶着這個ticket就所向無阻。spa
前面說了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的組成以及支持的各類協議,各類特性,不煩看看