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

做爲Cas服務器,容許哪些客戶端接入與否是經過配置來定義的。對Cas服務器來講,每個接入的客戶端與一個Service配置對應;在Cas服務器啓動時加載並註冊上這些Service,與之對應的客戶端才能接入。不然將出現html

 

1、假設Cas服務器爲HTTPS類型json

假設咱們的Cas服務器運行在8443端口,以HTTPS協議對外提供服務(《Cas 服務器 下載、編譯及部署》中的cas服務器配置)。安全

1.1 Cas客戶端類型爲HTTP應用時的配置服務器

假設咱們的Cas客戶端以HTTP協議來對外提供服務,對外提供服務的域名及端口信息爲:http://localhost:8081。app

注:若是有多個HTTP Cas客戶端,要實現用戶在A Cas客戶端登錄後在B Cas客戶端也可被設別,須要在Cas服務器配置文件中將TGC設爲非安全模式:post

cas.tgc.secure=false

1.1.1 在Cas服務器上註冊Cas客戶端(Service)ui

從target>cas>WEB-INF>classes下複製service目錄到src>main>resources下,刪除複製來目錄中的Apereo-10000002.json文件,將HTTPSandIMAPS-10000001.json重命名爲TEST-10000003.json,以下圖:lua

將TEST-10000003.json文件心裏修改以下:url

{
  "@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文件中的各個屬性的涵義及更深刻內容可參考http://www.javashuo.com/article/p-eekixhuh-gd.htmlspa

在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應用時的配置

 請關注後續文章

2、假設Cas服務器爲HTTP類型

假設咱們的Cas服務器運行在8080端口,以HTTP協議對外提供服務(《Cas 服務器 使用HTTP協議對外服務》中的cas服務器配置)。

2.1 Cas客戶端類型爲HTTP應用時的配置

該配置與1.1.1中的配置徹底相同,由於不使用HTTPS,因此不用導入證書操做。

相關文章
相關標籤/搜索