cas登录的问题

CAS登录过程是这样的:
登录http://a.alibaba.com/,
重定向到:http://cas.alibaba.com?url=ht...
登录页面输入用户名密码登录成功,跳转到http://a.alibaba.com?ticket=xxxx
casserver认证ticket合法之后,setcookie到浏览器内存中一个cookie;
以后所有到访问都会带着这个cookie来访问,当然cookie是放在内存中到,浏览器关闭,cookie失效,要重新登录;并且cookie是有失效期的,失效之后,需要重新登录。
我的问题是:
输入用户名密码之后,casserver可以直接setcookie到浏览器,为什么还要多一步校验ticket的过程呢?为什么?感觉有点儿多此一举的啊?
求解答,拜谢~~~
白猪掌柜的
浏览 337回答 2
2回答

千万里不及你

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

相关分类

JavaScript