1. 程式人生 > >Cas 服務器 Service(Cas客戶端)註冊信息維護

Cas 服務器 Service(Cas客戶端)註冊信息維護

操作 電腦 添加 img keytool eid div tro down

作為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客戶端)註冊信息維護