SpringBoot 集成cas5.3 通过Restful协议请求认证和退出

简介: 前面我们讲解了一些列的CAS文章,对CAS有了很多了解。今天我们讲解一个现在服务常用的REST协议来完成CAS的登录、认证,不需要我们手动登录跳转到CAS的登录页面就可以完成CAS的一些列操作。

前面我们讲解了一些列的CAS文章,对CAS有了很多了解。今天我们讲解一个现在服务常用的REST协议来完成CAS的登录、认证,不需要我们手动登录跳转到CAS的登录页面就可以完成CAS的一些列操作。


我们知道CAS认证支持包括多种协议去认证,包括CAS、OAuth、SAML1、SAML2、REST Protocol等协议,这里我们采用REST协议去获取TGT,然后获取到TGT后获取到ST,最后拿到ST后再去访问服务。

image.png

一、认证服务

首先我们加入Rest服务依赖:

<!-- Restful support -->
<dependency>
    <groupId>org.apereo.cas</groupId>
    <artifactId>cas-server-support-rest</artifactId>
    <version>${cas.version}</version>
</dependency>

修改票据默认过期时间

##
# Ticket过期设置,默认是10秒
#
cas.ticket.st.numberOfUses=1
cas.ticket.st.timeToKillInSeconds=6000

其他操作呢?没了,就是如此简单,启动服务,接下来就是Restful操作。


获取TGT票据

http://localhost:8080/cas/v1/tickets(x-www-form-urlencoded格式)
username(账号)
password(密码)
service(客户端服务地址,如:http://localhost:8090/,地址一定要统一,建议带上斜杠)

image.png

使用获取到的TGT票据申请ST票据

http://localhost:8080/cas/v1/tickets/TGTxxxxxxxxxxxxxx(x-www-form-urlencoded格式)
service(客户端服务地址,如:http://localhost:8090/,地址一定要统一,建议带上斜杠)

image.png

带上票据访问目标客户端

http://localhost:8090?ticket=ST-2-ZvIA49ULFLvNhyLGMzk21iE7gLsat21-PC

再次访问目标客户端,发现不用登录也能访问,需要注意的是,一个ST票据只能使用一次!

image.png

验证ST 只获取登录名

(GET)
http://localhost:8080/cas/serviceValidate?service=(申请的客户端服务地址)&ticket=(获取到的ST票据)


image.png

验证ST 获取多属性

(GET)
http://localhost:8080/cas/p3/serviceValidate?service=(申请的客户端服务地址)&ticket=(获取到的ST票据)

image.png

验证TGT

http://localhost:8080/cas/v1/tickets/TGTxxxxxxxxxxxcxxx(GET)

image.png

销毁TGT

http://localhost:8080/cas/v1/tickets/TGTxxxxxxxxxxxxxxx(DELETE)

image.png

再次验证

image.png

问题

未能够识别出目标 'ST-1-K5ieqntwqOaxBALpX8KHTw3RTwQat21-PC’票根

加斜杠问题

https://blog.csdn.net/u010588262/article/details/79818494

完结,如果想了解更多cas文章,请看我以往的文章。

目录
相关文章
|
28天前
|
SQL Java 测试技术
在Spring boot中 使用JWT和过滤器实现登录认证
在Spring boot中 使用JWT和过滤器实现登录认证
|
28天前
|
NoSQL 关系型数据库 MySQL
SpringBoot 集成 SpringSecurity + MySQL + JWT 附源码,废话不多直接盘
SpringBoot 集成 SpringSecurity + MySQL + JWT 附源码,废话不多直接盘
69 2
|
1月前
|
消息中间件 安全 Java
Spring Boot 基于 SCRAM 认证集成 Kafka 的详解
【8月更文挑战第4天】本文详解Spring Boot结合SCRAM认证集成Kafka的过程。SCRAM为Kafka提供安全身份验证。首先确认Kafka服务已启用SCRAM,并准备认证凭据。接着,在`pom.xml`添加`spring-kafka`依赖,并在`application.properties`中配置Kafka属性,包括SASL_SSL协议与SCRAM-SHA-256机制。创建生产者与消费者类以实现消息的发送与接收功能。最后,通过实际消息传递测试集成效果与认证机制的有效性。
|
1月前
|
NoSQL Java Redis
Spring Boot集成Redis全攻略:高效数据存取,打造性能飞跃的Java微服务应用!
【8月更文挑战第3天】Spring Boot是备受欢迎的微服务框架,以其快速开发与轻量特性著称。结合高性能键值数据库Redis,可显著增强应用性能。集成步骤包括:添加`spring-boot-starter-data-redis`依赖,配置Redis服务器参数,注入`RedisTemplate`或`StringRedisTemplate`进行数据操作。这种集成方案适用于缓存、高并发等场景,有效提升数据处理效率。
189 2
|
17天前
|
Java Spring
【Azure Developer】Springboot 集成 中国区的Key Vault 报错 AADSTS90002: Tenant 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' not found
【Azure Developer】Springboot 集成 中国区的Key Vault 报错 AADSTS90002: Tenant 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' not found
|
18天前
|
Java Spring
【Azure 事件中心】Spring Boot 集成 Event Hub(azure-spring-cloud-stream-binder-eventhubs)指定Partition Key有异常消息
【Azure 事件中心】Spring Boot 集成 Event Hub(azure-spring-cloud-stream-binder-eventhubs)指定Partition Key有异常消息
|
2月前
|
监控 druid Java
spring boot 集成配置阿里 Druid监控配置
spring boot 集成配置阿里 Druid监控配置
159 6
|
2月前
|
Java 关系型数据库 MySQL
如何实现Springboot+camunda+mysql的集成
【7月更文挑战第2天】集成Spring Boot、Camunda和MySQL的简要步骤: 1. 初始化Spring Boot项目,添加Camunda和MySQL驱动依赖。 2. 配置`application.properties`,包括数据库URL、用户名和密码。 3. 设置Camunda引擎属性,指定数据源。 4. 引入流程定义文件(如`.bpmn`)。 5. 创建服务处理流程操作,创建控制器接收请求。 6. Camunda自动在数据库创建表结构。 7. 启动应用,测试流程启动,如通过服务和控制器开始流程实例。 示例代码包括服务类启动流程实例及控制器接口。实际集成需按业务需求调整。
180 4
|
2月前
|
消息中间件 Java 测试技术
【RocketMQ系列八】SpringBoot集成RocketMQ-实现普通消息和事务消息
【RocketMQ系列八】SpringBoot集成RocketMQ-实现普通消息和事务消息
132 1
|
3月前
|
消息中间件 Java Kafka
springboot集成kafka
springboot集成kafka
118 2