为了账号安全,请及时绑定邮箱和手机立即绑定

cas登录的问题

cas登录的问题

墨色风雨 2019-03-01 10:43:31
CAS登录过程是这样的: 登录http://a.alibaba.com/, 重定向到:http://cas.alibaba.com?url=ht... 登录页面输入用户名密码登录成功,跳转到http://a.alibaba.com?ticket=xxxx cas server 认证ticket合法之后,set cookie到浏览器内存中一个cookie; 以后所有到访问都会带着这个cookie来访问,当然cookie是放在内存中到,浏览器关闭,cookie失效,要重新登录;并且cookie是有失效期的,失效之后,需要重新登录。 我的问题是: 输入用户名密码之后,cas server可以直接set cookie到浏览器,为什么还要多一步校验ticket的过程呢?为什么?感觉有点儿多此一举的啊? 求解答,拜谢~~~
查看完整描述

4 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

ticket是给客户端(CAS接入客户端)用的,当CAS登录后,浏览器记录了相应的cookie,所以CAS可以知道当前用户是登录过的,但由于跨域的原因,客户端无法直接获取该cookie,所以客户端是无法直接信任当前用户的,所以CAS内部设计了ticket机制。用户登录CAS后,会重定向到客户端,此时会携带一个ticket参数,客户端的CAS过滤器在拿到该ticket后,与CAS服务器交互,校验ticket,以交换认证状态,并且将认证状态记录到客户端自己的session中,客户端是可以管理自己session对应的sessionid的(本质是一个cookie),也就实现了认证过程,并且在CAS未登出或客户端cookie未失效以前,都不用再请求CAS服务端,也算是对性能的优化。

查看完整回答
反对 回复 2019-03-01
?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

ticket才是CAS的核心,Cookie既不安全也不能跨域
看看这个 :链接描述

查看完整回答
反对 回复 2019-03-01
?
慕容3067478

TA贡献1773条经验 获得超3个赞

谢邀,@kevinz,@大道独行,@andy_hu他们从不同方面进行了说明,我这里就不重复了。

查看完整回答
反对 回复 2019-03-01
  • 4 回答
  • 0 关注
  • 1219 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信