手把手教Apereo CAS5.2.3 注册后自动登录

本文介绍如何在Apereo CAS 5.2.3中实现注册后自动登录的功能。通过两种方式详细讲解:推荐方式涉及通过REST接口获取TGT,设置自定义cookie,以及简单方式——关闭TGC加密,直接使用TGT。这两种方法分别有其优缺点,安全性和实现难度不同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

顺手贴上CAS 5.2.X官方文档:https://apereo.github.io/cas/5.2.x/index.html
hugeo的CAS系列:https://blog.youkuaiyun.com/u010588262/article/category/7548325
DEMO下载:
part1: https://download.youkuaiyun.com/download/u010588262/10327539
part2:https://download.youkuaiyun.com/download/u010588262/10372828

只要手头有用户名和密码就可以实现静默登录,就是不需要用户在登录页面输入信息,比如用户注册之后,你就知道用户名和密码了,就可以用restful的方式根据用户名和密码获得tgt,将tgt塞入cookie即可,大致过程是这样,下面详细说一下。

默认情况下CAS服务端校验用户身份后会生成tgt,类似这样的字符串:
TGT-1-e9OqKGuTlqMHrLgneGXYLc0fUTyz5DKZ09WpXjtochS-wohnm2syP4mZH2VAwLZ1nEI-LAPTOP-UVV0Q09C
然后使用DefaultCasCookieValueManagertgt加上客户端IP客户端代理信息后再加密,形成一个复杂的很长的串儿写入用户浏览器的cookie中取名TGC,这样用户每次访问服务端校验时会自动带着TGC,服务端收到了就解密校验了。

所以想要默默地单点登录就要默默地生成TGC放在cookie中。 两种方式实现

推荐方式

注意:此处假设你看过我之前的几篇博客了,或者说对CAS比较了解了的情况下,不会做详细解释

通过此方法,登录流程为:
1. 用户注册成功后,代码通过rest方式调服务端接口获得TGT(不知道怎么获取的请看下之前有一篇详细说rest接口验证的博客)
2. 302跳转到服务端/setcookie接口,这个接口需要我们自己开发,将用户要访问的客户端地址serviceUrl和第一步获得tgt传过去,服务端校验tgt并生成tgc放入cookie
3. 服务端302跳转到serviceURL,用户登录成功

具体方法:

新增生成cookie的类:
package com.hugeo.cas;

import org.apereo.cas.CipherExecutor;
impo
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值