01
集成介绍
02
知识储备学习
CAS 介绍
什么是 CAS
什么是单点登录
CAS 术语
CAS 协议流程图
流程概述
用户首次访问系统 A
-
用户浏览器访问系统 A 中受限资源,此时系统 A 进行登录检查,发现未登录,然后系统 A 检查访问的 URL 中是否带有令牌(ST),发现没有令牌(因为是首次登录)。 -
系统 A 将用户请求重新定向到认证中心(CAS Server),认证中心进行获取全局票据(TGT)操作,没有(因为是首次登录),所以用户需要进行登录操作(输入用户名和密码)。 -
认证中心呈现登录页面,用户登录,登录成功后,认证中心给用户浏览器设置 Cookie(TGC),然后认证中心重新定向请求到系统 A,并附上认证通过令牌(ST),此时认证中心同时生成了全局票据(TGT)。 -
此时再次进行登录检查,发现未登录,然后再次获取令牌操作,就可以获得令牌(ST)。系统 A 拿着令牌和请求 URL 与认证中心通信,验证令牌有效,认证中心返回成功,证明用户已登录。 -
系统 A 生成相应的 session(用于下次用户访问时验证),然后将受限资源返给用户。
已登录用户首次访问系统 B
-
浏览器访问另一系统 B 需登录受限资源,此时进行登录检查(session 检查),发现未登录,然后系统 B 检查访问的 URL 中是否带有令牌(ST),发现没有令牌。 -
系统 B 将请求重新定向到认证中心,认证中心进行获取全局票据(TGT)操作,可以获得(因为之前已经登录过)。 -
认证中心发放令牌(ST),并携带该令牌重新定向到系统 B。 -
系统 B 再次进行登录检查,发现未登录,然后再次获取令牌操作,此时可以获得令牌(ST),系统 B 拿着令牌和请求 URL 与认证中心通信,验证令牌有效,认证中心返回成功,证明用户已登录。 -
系统 B 生成相应的 session(用于下次用户访问时验证),然后将受限资源返回给用户。
用户登出
-
用户向系统 A 发起登出请求动作,系统 A 清除本地 session,同时清除用户浏览器中相应的 cookie。 -
系统 A 将用户请求重定向到认证中心的登出接口,认证中心根据获取到的票据(TGT)清除本地 session,同时清除用户浏览器中相应的 cookie(TGC)。 -
认证中心把用户请求重新定向回系统 A,这时由于系统 A 中已经没有了 session,所以请求会被重新定向到认证中心的登录页面。至此,用户已经完全退出系统了。
说明