一、相关概念
- TGC(Ticket-granting cookie):存放用户身份认证的cookie,在浏览器和CAS server用来明确用户身份的凭证;
- ST(Service Ticket):CAS服务器通过浏览器分发给客户端服务器的票据,一个特定服务只能有一个唯一的ST;
二、认证流程
CAS主要分为server和client,server主要负责对用户的认证工作;client负责处理客户端受保护资源的访问请求,登录时,重定向到server进行认证。
- 访问服务:客户端发送请求访问应用系统提供的服务资源;
- 定向认证:CAS client校验http请求中是否包含ST和TGT,如果没有,则会重定向到CAS server中进行用户认证;
- 用户认证:用户登录,提交给CAS server认证;
- 发放票据:CAS server校验过用户信息后,为CAS client发放ST,并在浏览器cookie中设置TGC,下次访问CAS server的时候进行校验,判断用户是否已经登录;
- 验证票据:CAS client拿到ST后,再次请求CAS server验证ST合法性,验证通过后运行客户端访问;
- 传输用户信息:CAS server校验过ST后,传输用户信息给CAS client