Cas 服務器 Service(Cas客戶端)註冊信息維護
作為Cas服務器,允許哪些客戶端接入與否是通過配置來定義的。對Cas服務器來說,每一個接入的客戶端與一個Service配置對應;在Cas服務器啟動時加載並註冊上這些Service,與之對應的客戶端才能接入。否則將出現
一、假設Cas服務器為HTTPS類型
假設我們的Cas服務器運行在8443端口,以HTTPS協議對外提供服務(《Cas 服務器 下載、編譯及部署》中的cas服務器配置)。
1.1 Cas客戶端類型為HTTP應用時的配置
假設我們的Cas客戶端以HTTP協議來對外提供服務,對外提供服務的域名及端口信息為:http://localhost:8081。
1.1.1 在Cas服務器上註冊Cas客戶端(Service)
從target>cas>WEB-INF>classes下復制service目錄到src>main>resources下,刪除復制來目錄中的Apereo-10000002.json文件,將HTTPSandIMAPS-10000001.json重命名為TEST-10000003.json,如下圖:
將TEST-10000003.json文件內心修改如下:
{ "@class" : "org.apereo.cas.services.RegexRegisteredService", "serviceId" : "^(http)://localhost:8081.*", "name" : "TEST","id" : 10000003, "description" : "This service definition authorizes all application urls that support HTTPS and IMAPS protocols.", "evaluationOrder" : 10000 }
註:json文件名字由文件內容中的 name-id 組合而成,關於json文件中的各個屬性的涵義及更深入內容可參考https://blog.csdn.net/anumbrella/article/details/82119246
在pom中添加對json文件services註冊支持的依賴
<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-json-service-registry</artifactId>
<version>${cas.version}</version>
</dependency>
修改application.properties
#開啟json格式service註冊
cas.serviceRegistry.initFromJson=true
# Json services 配置位置設定
cas.serviceRegistry.json.location=classpath:/services
build run 啟動Cas服務器
1.1.2 在Cas客戶端電腦上導入Cas服務器證書
根據密鑰導出證書
使用之前創建密鑰的KeyStore Explorer(下載地址:https://download.csdn.net/download/popo_popo/10750816),打開之前保存的密鑰庫文件。
證書導入
使用keytool進行證書導入工作,證書導入完成後用Cas客戶端訪問成功!
登陸成功後返回受保護的地址
註:如果Cas客戶端不導入證書,Cas客戶端程序將會出現證書異常而結束執行。關於Cas客戶端的內容將放在後續文章之中。
1.2 Cas客戶端類型為HTTPS應用時的配置
請關註後續文章
二、假設Cas服務器為HTTP類型
假設我們的Cas服務器運行在8080端口,以HTTP協議對外提供服務(《Cas 服務器 使用HTTP協議對外服務》中的cas服務器配置)。
2.1 Cas客戶端類型為HTTP應用時的配置
該配置與1.1.1中的配置完全相同,因為不使用HTTPS,所以不用導入證書操作。
Cas 服務器 Service(Cas客戶端)註冊信息維護