关于临时票据的作用问题?

关于临时票据的作用问题?

你好 老师,

CAS 系统中,关于这个临时票据的作用,我没有理解。按老师写的这个时序图,在反回临时票据的时候,直接把全局的ticket反回给子系统就可以了。

我接触过Oauth2.0,他有一种认证方式授权码认证,这个里面有个步骤先获取授权码,再通过授权码换取token,老师上面讲的这个临时票据好像跟这个是挺像的。

这个临时票据,和授权码的获取我都没能深刻的理解他们存在的意义,麻烦老师帮解释一下。

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
陈增强 2023-05-20 19:49:06

        你好,在CAS协议中,是需要根据全局门票去获取临时票据。然后再根据获取到的临时票据获取用户会话。因为用户会话是用户在业务系统中重要的凭证,如果根据全局门票就能直接获取到用户会话其实是很危险的。

        我认为临时票据这个设计的精妙之处在于以下两点:

        一、提高系统的安全性。我们服务器传临时票据给业务系统是通过“重定向”将临时票据带出去给业务系统的。如果我们在重定向之前对 returnUrl 的合法性进行校验(属于公司的地址才重定向),就能在一定程度上保证安全,因为是重定向到我们公司自己的地址。即使全局门票被泄露了,别人也无法轻易根据全局门票拿到临时票据,也就无法拿到用户的会话这种敏感信息。

        二、单一职责。全局门票负责标识用户在CAS登录过。临时票据用于获取用户的会话信息。


Java架构师讲师团 2020-01-09 08:59:48

临时票据用过一次就不用了,就作废了。如果你要直接用全局也行。因为有redis,如果没有redis,则用普通session,这个时候用全局票据就不行了,因为普通的session只能在当前系统使用

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师