做为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,因此不用导入证书操做。