做爲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,因此不用導入證書操做。