CAS學習筆記一:CAS 授權伺服器簡易搭建

東北小狐狸發表於2021-12-28

什麼是CAS

CAS是Central Authentication Service的縮寫,中央認證服務,一種獨立開放指令協議。CAS 是 耶魯大學(Yale University)發起的一個開源專案,旨在為 Web 應用系統提供一種可靠的單點登入方法,CAS 在 2004 年 12 月正式成為 JA-SIG 的一個專案。

簡單來說,就是開源的企業級單點登入(SSO)服務。

CAS Server 搭建思路

CAS 官方提供了一種使用 Apereo CAS WAR Overlay Template 的方式(開發人員通過 克隆模板倉庫https://github.com/apereo/cas-overlay-template ,修改Maven/Gradle配置引入官方釋出War包依賴,構建時將變更的檔案更新到新的War中)簡化了開發人員二次開發複雜性,提高了開發效率。

對於簡單部署一個CAS 服務端,就可以直接下載 Maven 倉庫中的War包進行部署,本文亦使用此方法部署 5.3.16 版本的CAS 服務端。如需定製開發,請使用官方模板倉庫進行開發。

CAS 服務端 5.x 使用 JDK 1.8,6.x 開始使用 JDK 11,由於公司專案在用1.8,就用 CAS 5.x 最新版本 5.3.16 了

下載Maven倉庫War包

https://repo1.maven.org/maven2/org/apereo/cas/cas-server-webapp-tomcat/5.3.16/

下載 Tomcat 9

https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.56/bin/

使用 Tomcat 9 部署 CAS server

將Tomcat 9 安裝包 與 CAS war包上傳到Linux伺服器,本文上傳到 /opt 目錄下。省略 JDK 安裝步驟。

#解壓tomcat
tar zxf apache-tomcat-9.0.56.tar.gz
#解壓CAS War包到 tomcat 部署目錄下
unzip -q cas-server-webapp-tomcat-5.3.16.war -d apache-tomcat-9.0.56/webapps/cas
#啟動tomcat
cd apache-tomcat-9.0.56/bin
./startup.sh

#檢視日誌
cd ..
tail -f logs/catalina.out

出現Ready後,Ctrl+C停止日誌輸出控制檯,訪問伺服器IP:8080,檢視tomcat是否啟動成功

訪問 Cas Server,伺服器IP:8080/cas

預設使用者名稱與密碼在配置檔案application.properties中(CAS 服務端是用SpringBoot實現的)

#開啟配置檔案
vim /opt/apache-tomcat-9.0.56/webapps/cas/WEB-INF/classes/application.properties
#Shift + G 跳轉到最後,能看到casuser是使用者名稱,Mellon是密碼

輸入使用者名稱與密碼,登入

提示登入成功,到此一個最基礎的CAS服務端搭建完成了,接下來將開啟 http 協議支援,這是用來應用服務授權時使用的。

調整 CAS 服務端配置

預設CAS 服務端將 http 協議的客戶端都認為是不合法的,需要修改配置檔案 HTTPSandIMAPS-10000001.json 新增 http協議支援。

cd /opt/apache-tomcat-9.0.56/webapps/cas/WEB-INF/classes/services
vim HTTPSandIMAPS-10000001.json

新增綠框部分文字 |http,新增 http 協議支援。

修改完成儲存退出,重啟 tomcat 就可以使用應用服務進行單點登入測試了。

本文同步於本人部落格園(hellxz.cnblogs.com) 與 CSDN(https://blog.csdn.net/u012586326)

相關文章