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

一、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.生成用户对象保存到页面

CAS单点登录之抽丝剥茧——【SSO】_第1张图片

  

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

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

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

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

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

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


CAS单点登录之抽丝剥茧——【SSO】_第2张图片


四、总结

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

你可能感兴趣的:(SSO,cas,单点登录)