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

什麼是CAS

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

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

CAS Server 搭建思路

CAS 官方提供了一種使用 Apereo CAS WAR Overlay Template 的方式(開發人員通過 克隆模板倉庫//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包

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

下載 Tomcat 9

//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(//blog.csdn.net/u012586326)