cas 保存用户信息_cas项目总结

这篇博客总结了CAS登录的六步流程,包括访问服务、定向认证、用户认证、发放票据、验证票据和传输用户信息。建议初学者使用CAS5.2版本,避免5.3版本的问题。CAS在认证通过后生成TGT,作为SSO Session的秘钥,并在验证票据合法后传输用户信息。
摘要由CSDN通过智能技术生成

CAS项目差不多要告一段落了,这里总结一下CAS登录流程,配置这里就不讲了,配置网上一大推的教程。如果是小白的话,这里建议使用CAS5.3以下的版本,我开始使用的就是CAS5.3,遇到了一大堆的问题,后来改用CAS5.2之后就没有问题了。

先看一下CAS百度百科的资料:

55d16b08909a5dfdaff8d93ff05ffc36.png
CAS(中央认证服务)_百度百科​baike.baidu.com
1f1d74ca29a03f82ebdc81b5134b6362.png

35cad1b91b23f1655c39dd2817a1194a.png

这里我们可以看到CAS登录分为六部:

step1 访问服务:浏览器发送请求访问应用系统提供的服务资源

step2 定向认证:SSO客户端会重定向用户请求到SSO服务器

step3 用户认证:用户身份认证(这里是双向的,SSO返回登录界面给浏览器,浏览器提交用户表单给SSO服务器。认证通过之后,会生成TGC,TGC会保存到本地的cookie中,cookie中包含TGT,还会生成SSO Session,这个TGT就是SSO Session的秘钥。)

step4 发放票据:SSO服务器会产生一个随机的server ticket(这个ticket也会缓存在本地的cookie中,SSO客户端访问SSO服务端会先判断是否有server ticket,如果不存在就需要用TGT去申请一张server ticket,如果存在就可以访问资源了)

step5 验证票据:SSO服务器验证票据service ticket的合法性,验证通过后允许客户端访问(验证通过之后会生成session,生成session的目的是不用每次都做票据验证的操作,如果这次来验证的ticket已经存在于session中,就SSO服务器就不需要再做验证了)

step6 传输用户信息:SSO服务器验证票据通过后,传输用户认证结果信息给客户端(返回的用户信息是一个xml文件)

	<cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'>
	    <cas:authenticationSuccess>
	        <cas:user>AAAA</cas:user>
	    </cas:authenticationSuccess>
	</cas:serviceResponse>

如果需要查看详细的SSO登录流程,可以访问官网:

CAS - CAS Protocol​apereo.github.io
32c15fcbde9715ecba1ec32622073149.png

这里我直接把访问流程图贴出来。

e0d72319306e885c9fe614c1bad15df0.png

这里有一篇博客也讲的比较清楚:

CAS客户端认证流程 - 你要 - 博客园​www.cnblogs.com
853ddf8d7b88ab6dd8d9ab2a806e25aa.png

这篇博客中,关于生产TGT这一段,我本人是不太赞同的

5b7f766ca7d32245f934490d2df13ec2.png

根据官网的流程图可以看出,生产TGT应该是在认证通过之后生成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值