【SSO】--CAS单点登录之抽丝剥茧

一、CAS是什么

  CAS=Central Authentication Service,中央认证服务,一种独立开始指令协议。CAS是 Yale大学发起的一个开源项目,旨在为web应用系统提供一种可靠的单点登录方法。

 

 

二、CAS包括什么

  CAS包括两个部分:CAS Client和CAS Server.

  CAS Client:负责处理对客户端受保护资源的访问请求

  CAS Server:需要独立部署,主要负责对用户的认证工作。

  CAS包含TGTSTPGTPGTIOUPT五种票据信息,在ITOO项目中,我们主要用的是TGT、ST票据、TGC Cookie。

         TGT: Ticket Grangting Ticket,主要封装cookie值和cookie值对应的用户信息。

         ST:Service Ticket,是CAS主要为用户签发的访问某一service的票据。

TGC: Ticket-granting cookie,是存放用户身份认证凭证的cookie,在浏览器和CAS Server间通讯时使用,并且只能基于安全通道传输(Https),是CAS Server用来明确用户身份的凭证。

     

三、CAS工作原理

 

背景:用户先访问权限系统,一旦登录权限系统,就可以访问基础系统,无需再次登录。

 

用户访问权限,并登录成功:

1.终端访问权限系统,输入权限系统网址

2,3.由于终端本地一开始没有ST信息,浏览器自动重定向到CAS Server端。

4.由于CAS Server端没有TGT信息,地址再次重定向到登陆首页,输入用户名和密码

5.写入Cookie形成TGC到终端浏览器,并传递ST给终端,同时生成TGT到CAS Server端

6.再次访问权限系统,并携带ST

7.去CAS Server端再次验证ST,验证成功

8.生成用户对象保存到页面

  

用户继续访问基础系统,无需再次登录:

1.输入基础系统网址,终端本地无ST信息

2,3.CAS Client主要通过filter保护受保护的资源,重定向到CAS Server

4.CAS根据本地TGT发放票据ST给浏览器

5.浏览器再次访问基础系统,携带ST

6.去CAS Service再次验证,验证成功,基础系统无需登录,就可以访问。

 

 

四、总结

  CAS跟我们之前的登录相比,除了用户名和密码的认证,还多了一个登录唯一性的标识--票据的验证。CAS让登录变的更加安全,用户在不同的系统中可能用不同的角色,有了单点登录,只需要一份用户名、密码,就可以多个系统间畅通无阻。CAS其实很简单,用户信息生成TGT,TGT发放ST,中间少了那个步骤,就从缺少步骤的上一步再来一遍就好了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 34
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值