CAS 交互流程

来源:互联网 发布:中兴网络机顶盒怎么用 编辑:程序博客网 时间:2024/06/17 07:15

CAS 的核心就是其 Ticket,及其在 Ticket 之上的一系列处理操作

  • ST(Service Ticket)
    • ST 是 CAS 为用户签发的访问某一 service(即集成 CAS 单点登录验证的应用系统资源 url)的票据
  • TGT(Ticket Grangting Ticket)
    • TGT 是 CAS 为用户签发的登录票据,拥有 TGT,就代表用户已登录
    • TGC(Ticket Granted Cookie):在服务器缓存中查询 TGT 的键
  • LT:Login Ticket,在每次登录前生成的一个唯一的票根,仅用作登录验证

访问第一个应用,无 TGC

Created with Raphaël 2.1.0浏览器浏览器CAS客户端1CAS客户端1CAS服务器CAS服务器第一次请求查找 Session 的 CONST_CAS_ASSERTION,无查找 ticket 参数,无no ticket and no assertion found构造重定向 url重定向 /cas/login?service=xxx,无 TGC通过 TGC 查询 TGT查询失败显示登录界面POST 请求 /cas/login?service=xxx,附带 username、password、lt、execution、_eventId 参数验证用户数据库,验证成功生成并缓存 TGTCOOKIE 存储 TGC,签发一个 ST重定向 URL:service?ticket=ST查找 Session 的 CONST_CAS_ASSERTION,无查找 ticket 参数,有/cas/serviceValidate,验证 STST 认证成功Session 存入 CONST_CAS_ASSERTIONST 认证成功后需要重定向重定向 URL:service返回访问资源后续请求查找 Session 的 CONST_CAS_ASSERTION,有返回访问资源

访问第二个应用,假设存在 TGC

Created with Raphaël 2.1.0浏览器浏览器CAS客户端2CAS客户端2CAS服务器CAS服务器第一次请求查找 Session 的 CONST_CAS_ASSERTION,无查找 ticket 参数,无no ticket and no assertion found构造重定向 url重定向 /cas/login?service=xxx,有 TGC通过 TGC 查询 TGT查询成功签发一个 ST重定向 URL:service?ticket=ST查找 Session 的 CONST_CAS_ASSERTION,无查找 ticket 参数,有/cas/serviceValidate,验证 STST 认证成功Session 存入 CONST_CAS_ASSERTIONST 认证成功后需要重定向重定向 URL:service返回访问资源后续请求查找 Session 的 CONST_CAS_ASSERTION,有返回访问资源
  • CAS 服务端登录验证流程(一):http://blog.csdn.net/pomer_huang/article/details/76862455
  • CAS 客户端登录验证:http://blog.csdn.net/pomer_huang/article/details/76862561
原创粉丝点击