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

相关文章
相关标签/搜索