CAS与单点登录的流程及原理

CAS(Central Authentication Service)
SSO (Single Sign On)

Center:CAS 认证中心
A:某应用服务
B:另一个应用服务

Ticket Granted Ticket ( TGT ):全局票
Ticket Granted Cookie ( TGC ): 存放 TGT id 的 cookie
Service Ticket ( ST ):某个服务的票据



用户访问 A
A:登录了吗(cookie 中的 SessionId),没有,有票吗(ST),没有,那去 Center 吧(携带了的url,一会还得回来呢)
Center:有全局票吗(TGC 中的 TGT id,不是 SessionId),没有,那你登录吧。。。
Center:登录成功,创建TGT,并将 TGT 的 id 写到用户的 cookie(TGC)中,同时生成一个随机的 ST 让用户重定向到 A 的 url
A:登录了吗(cookie 中的 SessionId),没有,有票吗(ST),有,A去 Center 验证 ST 有效性,有效,创建 Session,并将 SessionId 写到用户 cookie 里,用户以后就用该 SessionId 与 A 进行通信


用户访问 B
B:登录了吗(cookie 中的 SessionId),没有,有票吗(ST),没有,那去 Center 吧(携带B的url,一会还得回来呢)
Center:有全局票吗(TGC 中的 TGT id,不是 SessionId),有
Center:生成一个随机的 ST 让用户重定向到 B 的 url
B:登录了吗(cookie 中的 SessionId),没有,有票吗(ST),有,B 去 Center 验证 ST 有效性,有效,创建 Session,并将 SessionId 写到用户 cookie 里,用户以后就用该 SessionId 与 B 进行通信


用户登出 A
A 删除Session 并清除用户的 Cookie 中的 SessionId
A 通知 Center 用户登出了
Center 删除 TGT 并清除用户的 TGC(存放 TGT id 的 cookie)
Center 通知所有该用户访问的应用
各个应用删除Session 并清除用户的 Cookie 中的 SessionId



  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值