如题所述
第1个回答 2022-06-12
CAS是耶鲁大学发起的一个开源单点登录项目,也是用的最为广泛的开源项目。对于学习SSO有非常好的参考价值
单点登录(Single Sign On),简称为 SSO。多用于多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,最简单的单点登入实现可以完全基于 cookie ,通过往浏览器写带有登入信息的token来达到多点登入的目的,有兴趣的可以自己动手实现一个
先盗个图 :
从结构上看,分成了三部分:CAS Client,CAS Server,浏览器
CAS Client 与受保护的客户端应用部署在一起,以 Filter 方式保护 Web 应用的受保护资源,过滤从客户端过来的每一个Web请求
下面我将分为两部分(用户第一次登录验证和之后的登录验证)详细解析其登入原理
以上是第一次验证时基本流程
跨域的关键在于浏览器端的Cookie: TGC ,因为这个Cookie是设置在 SSO Server 端的,也就保证了统一票据和 Client 端域名无关。
cas 单点登录核心就是 单个cookie , N个session
在该协议中,所有与 CAS Server 的交互均采用 SSL 协议,以确保 ST 和 TGC 的安全性。