关于临时票据的作用问题?
你好 老师,
CAS 系统中,关于这个临时票据的作用,我没有理解。按老师写的这个时序图,在反回临时票据的时候,直接把全局的ticket反回给子系统就可以了。
我接触过Oauth2.0,他有一种认证方式授权码认证,这个里面有个步骤先获取授权码,再通过授权码换取token,老师上面讲的这个临时票据好像跟这个是挺像的。
这个临时票据,和授权码的获取我都没能深刻的理解他们存在的意义,麻烦老师帮解释一下。
正在回答 回答被采纳积分+1
你好,在CAS协议中,是需要根据全局门票去获取临时票据。然后再根据获取到的临时票据获取用户会话。因为用户会话是用户在业务系统中重要的凭证,如果根据全局门票就能直接获取到用户会话其实是很危险的。
我认为临时票据这个设计的精妙之处在于以下两点:
一、提高系统的安全性。我们服务器传临时票据给业务系统是通过“重定向”将临时票据带出去给业务系统的。如果我们在重定向之前对 returnUrl 的合法性进行校验(属于公司的地址才重定向),就能在一定程度上保证安全,因为是重定向到我们公司自己的地址。即使全局门票被泄露了,别人也无法轻易根据全局门票拿到临时票据,也就无法拿到用户的会话这种敏感信息。
二、单一职责。全局门票负责标识用户在CAS登录过。临时票据用于获取用户的会话信息。
临时票据用过一次就不用了,就作废了。如果你要直接用全局也行。因为有redis,如果没有redis,则用普通session,这个时候用全局票据就不行了,因为普通的session只能在当前系统使用
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星