項(xiàng)目中需要用到CAS做統(tǒng)一認(rèn)證定踱,在網(wǎng)上查詢各種帖子,終于找到一篇非常好的紫岩;在參考了該貼的例子結(jié)合項(xiàng)目要求終于實(shí)現(xiàn)了spring boot下CAS的服務(wù)端搭建以及和spring security的客戶端整合赡鲜。github鏈接:https://github.com/X-rapido/CAS_SSO_Record。
這個(gè)系列有3篇文章:
- spring boot cas 服務(wù)端和spring security客戶端搭建(一):主要介紹怎么用spring boot cas搭建https的服務(wù)端
- spring boot cas 服務(wù)端和spring security客戶端搭建(二):主要介紹怎么用怎么結(jié)合數(shù)據(jù)庫用cas提供的動(dòng)態(tài)加密方式登錄及相關(guān)配置
- spring boot cas 服務(wù)端和spring security客戶端搭建(三):主要介紹怎么結(jié)合spring security客戶端進(jìn)行整合及http方式登錄配置
CAS服務(wù)端搭建
CAS的官網(wǎng):https://www.apereo.org/projects/cas
CAS的github官方網(wǎng)站:https://github.com/apereo
CAS服務(wù)端安裝的官方文檔:https://apereo.github.io/cas/5.3.x/installation/Maven-Overlay-Installation.html
服務(wù)端搭建要去github官網(wǎng)下載對應(yīng)的包:
在https://github.com/apereo/cas-overlay-template 下發(fā)現(xiàn)最新的已經(jīng)到j(luò)dk11了钝诚。颖御。。
而且貌似只支持gradle凝颇,對于只會(huì)maven不想麻煩去學(xué)習(xí)gradle的只能換支持maven的版本了潘拱。
很幸運(yùn)的是找的最近的5.3版本就支持maven,而且還是目前公司用的jdk1.8:
5.3版本拧略,具體資料可參考https://apereo.github.io/cas/5.3.x/index.html
回到5.3的github芦岂,這樣的工程結(jié)構(gòu)是不是看起來很困惑,怎么連src都沒有呢垫蛆。簡單地過下pom文件禽最,和平常碰到的沒什么太大區(qū)別,要注意的是pom里單獨(dú)配置了repository:
這里需要注意的是本地的maven setting配置文件是否會(huì)有影響到需要去repository中配置的地址下載包袱饭,如果搭建了maven私服可以去通過添加代理的方式川无,如果是指向阿里云之類的鏡像就需要看下是否配置的:
<mirroOf>*<mirroOf>
那么可以簡單地在‘*’后加上!xxx(xxx表示repository的id)來避免無法下載包的情況(忽略我這里指向私服又配了!sonatype-releases,因?yàn)閼械萌ヌ砑哟?了虑乖。懦趋。。):
然后運(yùn)行mvn package看下打包生成什么:
實(shí)際上生成的還是war包疹味,進(jìn)入target目錄查看詳情:
然后進(jìn)入war查看具體有些什么:
是不是發(fā)現(xiàn)了很熟悉的文件和文件夾仅叫,這不就是spring boot的結(jié)構(gòu)嗎。直接看最核心的application.properties:
是不是更加熟悉了糙捺,看到了服務(wù)的端口和地址惑芭,還有ssl的配置。既然是spring boot工程那么就可以直接創(chuàng)建src/main/resources文件夾了继找,將application.properties和ssl證書復(fù)制到resources下:
將配置文件的ssl配置修改下地址:
SSL證書生成非常重要遂跟,一定要搞對!
SSL證書生成非常重要,一定要搞對幻锁!
SSL證書生成非常重要凯亮,一定要搞對!
重要的SSL證書生成
證書生成的過程這里就不說了哄尔,參考https://github.com/X-rapido/CAS_SSO_Record/blob/master/SSL%E8%AF%81%E4%B9%A6%E7%94%9F%E6%88%90.md假消;切記一定要按文檔的步驟做完(刪除不用做,除非你有需要)岭接。
到這里最簡單的CAS服務(wù)端配置就完成了富拗,默認(rèn)用靜態(tài)用戶名登錄,可以在application.properties中找到:
最后在工程根目錄運(yùn)行build run鸣戴,當(dāng)看到ready時(shí)啃沪,表示啟動(dòng)成功:
在瀏覽器輸入 https://cas.server.com:8443/cas/login (參考ssl配置同時(shí)進(jìn)行域名映射cas.server.com,這是配對的窄锅,如果ssl的域名改了訪問的地址也要響應(yīng)調(diào)整)创千,可以看到登錄界面:
用默認(rèn)賬號casuser,密碼Mellon登錄:
先到這里了入偷,后續(xù)再加上數(shù)據(jù)庫驗(yàn)證的方法及與spring security客戶端整合追驴。