CAS服務(wù)端/客戶端——搭建(Springboot搭建CAS--驗(yàn)證單點(diǎn)登錄)

1.背景介紹 什么是CAS
單點(diǎn)登錄(SSO),在多系統(tǒng)之間用戶只需要登錄一次就可以訪問所有互相信任的系統(tǒng)

SSO基礎(chǔ)的訪問流程:

  1. 訪問服務(wù): SSO 客戶端發(fā)送請(qǐng)求訪問應(yīng)用系統(tǒng)提供的服務(wù)資源。

  2. 定向認(rèn)證: SSO 客戶端會(huì)重定向用戶請(qǐng)求到 SSO 服務(wù)器七兜。

  3. 用戶認(rèn)證:用戶身份認(rèn)證丸凭。

  4. 發(fā)放票據(jù): SSO 服務(wù)器會(huì)產(chǎn)生一個(gè)隨機(jī)的 Service Ticket 。

  5. 驗(yàn)證票據(jù): SSO 服務(wù)器驗(yàn)證票據(jù) Service Ticket 的合法性腕铸,驗(yàn)證通過后惜犀,允許客戶端訪問服務(wù)。

  6. 傳輸用戶信息: SSO 服務(wù)器驗(yàn)證票據(jù)通過后恬惯,傳輸用戶認(rèn)證結(jié)果信息給客戶端

CAS是一個(gè)應(yīng)用實(shí)例,基礎(chǔ)流程如下:

image.png

CAS分為Server和Client端,Cas Server需要獨(dú)立部署,主要負(fù)責(zé)對(duì)用戶的認(rèn)證;CAS client 負(fù)責(zé)處理對(duì)客戶端受保護(hù)資源的訪問請(qǐng)求,需要登錄的時(shí)候重定向到server 端

2.搭建CAS5.3

采用JAVA1.8,則建議采用基于CAS5.3版本的,使用Maven工程構(gòu)建,CAS5.X之后使用的是基于SpringBoot的,模版引擎使用Thymeleaf.

2.1下載地址

CAS Server5.3版本,可以下載ZIP包,并解壓至自己的目錄下

2.2打包成服務(wù)端的war包

在解壓目錄下進(jìn)入cmd,執(zhí)行 mvn package (前提保證自己的環(huán)境有maven),即可在target下生成cas.war包

2.3 tomcat啟動(dòng)

cas.war放到tomcat的apache-tomcat-9.0.36\webapps中向拆,啟動(dòng)tomcat

啟動(dòng)后在即可在tomcat的webapps目錄下看到解壓后的cas目錄

修改參數(shù):

  • 由于CAS默認(rèn)使用https,為了方便springboot搭建的客戶端采用http訪問,需要改為兼容使用http協(xié)議

webapps\cas\WEB-INF\classes\application.properties
最后一行添加:
也可以修改端口,默認(rèn)是https協(xié)議8443端口,
修改默認(rèn)的登錄賬號(hào)和密碼

##
# 修改http 端口
#
server.context-path=/cas
server.port=8080

##
#  修改用戶名、密碼
#
cas.authn.accept.users=admin::admin
#啟用記載JSON配置文件
#打開文件cas\WEB-INF\classes\application.properties
#增加如下配置
cas.tgc.secure=false
cas.serviceRegistry.initFromJson=true
  • 在webapps\cas\WEB-INF\classes\services\HTTPSandIMAPS-10000001.json
    支持http
{
  "@class" : "org.apereo.cas.services.RegexRegisteredService",
  "serviceId" : "^(https|http|imaps)://.*",
  "name" : "HTTPS and IMAPS",
  "id" : 10000001,
  "description" : "This service definition authorizes all application urls that support HTTPS and IMAPS protocols.",
  "evaluationOrder" : 10000
}

cas 訪問地址:

http://localhost:8080/cas

CAS客戶端配置


# CAS客戶端配置(就是自己項(xiàng)目)

pom.xml依賴

<dependency>
<groupId>net.unicon.cas</groupId>
<artifactId>cas-client-autoconfig-support</artifactId>
<version>2.1.0-GA</version>
</dependency>

application.properties配置文件
客戶端1
server.port=8088
#cas服務(wù)端的地址
cas.server-url-prefix=[http://localhost:8080/cas](http://localhost:8080/cas)
#cas服務(wù)端的登錄地址
cas.server-login-url=[http://localhost:8080/cas/login](http://localhost:8080/cas/login)
#當(dāng)前服務(wù)器的地址(客戶端)
cas.client-host-url=[http://localhost:8088](http://localhost:8088)
#Ticket校驗(yàn)器使用Cas30ProxyReceivingTicketValidationFilter
cas.validation-type=CAS3

**每個(gè)客戶端只要修改當(dāng)前服務(wù)器地址就行了**
如客戶端2
**server.port=8090**
#cas服務(wù)端的地址
cas.server-url-prefix=[http://localhost:8080/cas](http://localhost:8080/cas)
#cas服務(wù)端的登錄地址
cas.server-login-url=[http://localhost:8080/cas/login](http://localhost:8080/cas/login)
#當(dāng)前服務(wù)器的地址(客戶端)
**cas.client-host-url=[http://localhost:8090](http://localhost:8090)**
#Ticket校驗(yàn)器使用Cas30ProxyReceivingTicketValidationFilter
cas.validation-type=CAS3

配置完成
沒有登陸時(shí)[http://localhost:8088](http://localhost:8088)和[http://localhost:8090](http://localhost:8090)訪問都會(huì)跳到CAS 登陸頁
只要客戶端1登陸了酪耳,登陸端2就能直接訪問浓恳,反之也能訪問

參考:
CAS5.3單點(diǎn)登錄服務(wù)端搭建與整合springboot
CAS服務(wù)端搭建和結(jié)合Springboot搭建CAS客戶端驗(yàn)證單點(diǎn)登錄

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市碗暗,隨后出現(xiàn)的幾起案子颈将,更是在濱河造成了極大的恐慌,老刑警劉巖言疗,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晴圾,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡噪奄,警方通過查閱死者的電腦和手機(jī)死姚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門人乓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人都毒,你說我怎么就攤上這事色罚。” “怎么了账劲?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵戳护,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我瀑焦,道長(zhǎng)腌且,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任榛瓮,我火速辦了婚禮铺董,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘榆芦。我一直安慰自己柄粹,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布匆绣。 她就那樣靜靜地躺著驻右,像睡著了一般。 火紅的嫁衣襯著肌膚如雪崎淳。 梳的紋絲不亂的頭發(fā)上堪夭,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音拣凹,去河邊找鬼森爽。 笑死,一個(gè)胖子當(dāng)著我的面吹牛嚣镜,可吹牛的內(nèi)容都是我干的爬迟。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼菊匿,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼付呕!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起跌捆,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤徽职,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后佩厚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體姆钉,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了潮瓶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片陶冷。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖毯辅,靈堂內(nèi)的尸體忽然破棺而出埃叭,到底是詐尸還是另有隱情,我是刑警寧澤悉罕,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站立镶,受9級(jí)特大地震影響壁袄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜媚媒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一嗜逻、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧缭召,春花似錦栈顷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至搪哪,卻和暖如春靡努,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背晓折。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工惑朦, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人漓概。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓漾月,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親胃珍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子梁肿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容