Cas 服务器 Service(Cas客户端)注册信息维护
作为Cas服务器,允许哪些客户端接入与否是通过配置来定义的。对Cas服务器来说,每一个接入的客户端与一个Service配置对应;在Cas服务器启动时加载并注册上这些Service,与之对应的客户端才能接入。否则将出现

一、假设Cas服务器为HTTPS类型
假设我们的Cas服务器运行在8443端口,以HTTPS协议对外提供服务(《Cas 服务器 下载、编译及部署》中的cas服务器配置)。
1.1 Cas客户端类型为HTTP应用时的配置
假设我们的Cas客户端以HTTP协议来对外提供服务,对外提供服务的域名及端口信息为:http://localhost:8081。
注:如果有多个HTTP Cas客户端,要实现用户在A Cas客户端登陆后在B Cas客户端也可被设别,需要在Cas服务器配置文件中将TGC设为非安全模式:
cas.tgc.secure=false
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客户端)注册信息维护的更多相关文章
- 如何进行SCCM中客户端记录信息维护
SCCM 部署完毕之后,不久我们就会发现客户端代理状态,因为重装系统,非正常的退域,长时间不开机,导致客户端状态有不可用的,有过期的,重复的记录很多.当然我们可以手动的快速删除重复的记录,那么怎么能做 ...
- Cas 服务器 为Service定义UI
Cas服务器允许用户为每个Service自定义登陆等UI外观,但需要尊着Cas定于的规则: 一.为Service配置theme(主题) 在<Cas 服务器 Service(Cas客户端)注册信息 ...
- cas协议,以及tomcat搭建cas服务器
1. CAS 简介 1.1. What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项目,旨 ...
- CAS (6) —— Nginx代理模式下浏览器访问CAS服务器网络顺序图详解
CAS (6) -- Nginx代理模式下浏览器访问CAS服务器网络顺序图详解 tomcat版本: tomcat-8.0.29 jdk版本: jdk1.8.0_65 nginx版本: nginx-1. ...
- CAS 之 Apereo CAS 简介(一)
CAS 之 Apereo CAS 简介(一) Background(背景) 随着公司业务的不断扩展,后台接入子系统不断增多,那么我们将针对不同的平台进行拆分为各自对应的子系统, 权限是不变的,那么我们 ...
- Cas服务器设置(java),java、php客户端配置
由于多个项目需要帐号的互通,所以一开始就是用cas去做的,不得不说cas要配置的东西挺多的,但是项目安全性不需要太高,所以没有做https的请求,也就是没有弄证书,这虽然省了很多时间和精力,但是项目之 ...
- 单点登录CAS使用记(二):部署CAS服务器以及客户端
CAS-Server下载地址:https://www.apereo.org/projects/cas/download-cas CAS-Client下载地址:http://developer.jasi ...
- 单点登录CAS使用记(七):关于服务器超时以及客户端超时的分析
我的预想情况 一般情况下,当用户登录一个站点后,如果长时间没有发生任何动作,当用户再次点击时,会被强制登出并且跳转到登录页面, 提醒用户重新登录.现在我已经为站点整合了CAS,并且已经实现了单点登录以 ...
- Cas服务器以及客户端搭建
一.搭建cas服务器 官网:http://jasig.github.io/cas/ Cas Server 下载:http://developer.jasig.org/cas/ Cas Client 下 ...
随机推荐
- 如何在mpvue下收集小程序的formId
什么是formId formId是小程序可以向用户发送模板消息的通行证,简单而言,你只有获取到formId,把它交给后台,后台同学才能向用户发送通知消息,而这个通行证的有效期只有七天.这是微信为了防止 ...
- 华为机试001:字符串最后一个单词的长度(华为OJ001)
华为机试 字符串最后一个单词的长度 计算字符串最后一个单词的长度,单词以空格隔开. 提交网址: http://www.nowcoder.com/practice/8c949ea5f36f422594b ...
- spring-boot-starter大力出奇迹
一.前言 上篇文章我们已经聊了SpringBoot的启动过程中的各类扩展点,那么从http://start.spring.io上我们生成的demo项目中,到目前就剩下了maven工程的pom.xm ...
- HashMap源码之构造函数--JDK1.8
构造函数 变量解释 capacity,表示的是hashmap中桶的数量,初始化容量initCapacity为16,第一次扩容会扩到64,之后每次扩容都是之前容量的2倍,所以容量每次都是2的次幂 loa ...
- salesforce零基础学习(九十一)Facet
说Facet以前,我们先说一下浏览器加载解析以及渲染的过程.浏览器获取一个HTML的文件时,会按照自上向下的顺序进行解析,并在加载过程中进行渲染.对html解析成DOM树,对CSS 解析成CSS Ru ...
- springboot redis(单机/集群)
前言 前面redis弄了那么多, 就是为了在项目中使用. 那这里, 就分别来看一下, 单机版和集群版在springboot中的使用吧. 在里面, 我会同时贴出Jedis版, 作为比较. 单机版 1. ...
- ClickHouse之访问权限控制
研究ClickHouse也有几周了,今天来和大家说说ClickHouse的访问权限是怎么做的,ClickHouse不像MySQL那样,直接创建用户,而是需要在配置文件里面添加用户,一个简单的例子如下: ...
- 【原创】驱动卸载之ControlService函数
BOOL WINAPI ControlService( _In_ SC_HANDLE hService, _In_ DWORD dwControl, _Out_ LPSERVICE_STATUS lp ...
- MariaDB/MySQL备份和恢复(二):数据导入、导出
MariaDB/MySQL备份恢复系列: 备份和恢复(一):mysqldump工具用法详述 备份和恢复(二):导入.导出表数据 备份和恢复(三):xtrabackup用法和原理详述 1.导出.导入数据 ...
- 了解golang的可变参数(... parameters),这一篇就够了
在实际开发中,总有一些函数的参数个数是在编码过程中无法确定的,比如我们最常用的fmt.Printf和fmt.Println: fmt.Printf("一共有%v行%v列\n", r ...