一、CAS是什么
CAS=Central Authentication Service,中央认证服务,一种独立开始指令协议。CAS是 Yale大学发起的一个开源项目,旨在为web应用系统提供一种可靠的单点登录方法。
二、CAS包括什么
CAS包括两个部分:CAS Client和CAS Server.
CAS Client:负责处理对客户端受保护资源的访问请求
CAS Server:需要独立部署,主要负责对用户的认证工作。
CAS包含TGT、ST、PGT、PGTIOU、PT五种票据信息,在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,中间少了那个步骤,就从缺少步骤的上一步再来一遍就好了。
版权声明:本文为博主原创文章,未经博主允许不得转载。