搭建 CAS Server
一抠藕、CAS單點(diǎn)登錄-簡(jiǎn)介
1.1 CAS 簡(jiǎn)介
CAS ( Central Authentication Service ) 是 Yale 大學(xué)發(fā)起的一個(gè)企業(yè)級(jí)的革为、開(kāi)源的項(xiàng)目勇吊,旨在為 Web 應(yīng)用系統(tǒng)提供一種可靠的單點(diǎn)登錄解決方法(屬于 Web SSO )。
1.2 SSO 簡(jiǎn)介
單點(diǎn)登錄( Single Sign-On , 簡(jiǎn)稱 SSO )是目前比較流行的服務(wù)于企業(yè)業(yè)務(wù)整合的解決方案之一衷敌, SSO 使得在多個(gè)應(yīng)用系統(tǒng)中即舌,用戶只需要 登錄一次 就可以訪問(wèn)所有相互信任的應(yīng)用系統(tǒng)。
1.3 CAS 的基本原理
從結(jié)構(gòu)體系看偿荷, CAS 包括兩部分: CAS Server 和 CAS Client 。
CAS Server 負(fù)責(zé)完成對(duì)用戶的認(rèn)證工作 , 需要獨(dú)立部署 , CAS Server 會(huì)處理用戶名 / 密碼等憑證(Credentials) 唠椭。
CAS Client 與受保護(hù)的客戶端應(yīng)用部署在一起跳纳,以 Filter 方式保護(hù)受保護(hù)的資源。CAS Client 負(fù)責(zé)處理對(duì)客戶端受保護(hù)資源的訪問(wèn)請(qǐng)求贪嫂,需要對(duì)請(qǐng)求方進(jìn)行身份認(rèn)證時(shí)寺庄,重定向到 CAS Server 進(jìn)行認(rèn)證。(原則上力崇,客戶端應(yīng)用不再接受任何的用戶名密碼等 Credentials )斗塘。
基于CAS的SSO訪問(wèn)流程步驟:
訪問(wèn)服務(wù): CAS Client 客戶端發(fā)送請(qǐng)求訪問(wèn)應(yīng)用系統(tǒng)提供的服務(wù)資源。
定向認(rèn)證: CAS Client 客戶端會(huì)重定向用戶請(qǐng)求到 CAS Server 服務(wù)器亮靴。
用戶認(rèn)證: 用戶在瀏覽器端輸入用戶驗(yàn)證信息馍盟,CAS Server服務(wù)端完成用戶身份認(rèn)證。
發(fā)放票據(jù): CAS Server服務(wù)器會(huì)產(chǎn)生一個(gè)隨機(jī)的 Service Ticket 茧吊。
驗(yàn)證票據(jù): CAS Server服務(wù)器驗(yàn)證票據(jù) Service Ticket 的合法性贞岭,驗(yàn)證通過(guò)后,允許客戶端訪問(wèn)服務(wù)搓侄。
傳輸用戶信息: CAS Server 服務(wù)器驗(yàn)證票據(jù)通過(guò)后瞄桨,傳輸用戶認(rèn)證結(jié)果信息給客戶端。
下面是 CAS 最基本的協(xié)議過(guò)程:
二讶踪、搭建CAS Server
1.環(huán)境準(zhǔn)備:maven環(huán)境芯侥、CAS Server包、tomcat環(huán)境
2.maven下載及安裝
地址:https://maven.apache.org/download.cgi
解壓
配置maven環(huán)境變量:
M2_HOME乳讥、MAVEN_HOME
添加Path
參考鏈接1:https://www.cnblogs.com/gy19920604/p/6029210.html
參考鏈接2:https://blog.csdn.net/u014553029/article/details/88102311