文章目录
CAS(Central Authentication Service),即中心认证服务系统,CAS1.0诞生于2001年,在2002年发布了CAS2.0协议,由于CAS2.0版本的可扩展能力不是非常完美,所以衍生出了同时遵循CAS1.0和CAS2.0协议的CAS.X版本。
一、什么是CAS?
一种独立开放的指令协议,SSO仅仅是一种架构,一种设计,而CAS是一种实现SSO的手段,两者为抽象和具体的关系,旨在为Web应用系统提供一种可靠的单点录方法
二、CAS
1.CAS的构成
角色:
在CAS中,分为CAS Server与CAS Client两部分
* CAS Server:是单点登录系统中负责验证的服务端,主要负责用户的密码/用户名进行认证,颁发票据等,需要单独的进行部署。
* CAS Client是CAS Server登录态的客户端,只需在web应用添加CAS提供的Listener和Filter即可成为CAS Client,其主要负责登录的校验,重定向和校验ticket(票据)工作
票据:
1. Proxy-Granting ticket(PGT)--------- 由CAS Server颁发给拥有ST凭证的服务,PGT绑定一个用户的特定服务,使其拥有向CAS Server申请,获得PT的能力;
2. Proxy-Granting Ticket I Owe You(PGTIOU)--------- 作用是将通过凭证校验时的应答信息由CAS Server 返回给CAS Client,同时,与该PGTIOU对应的PGT将通过回调链接传给Web应用。Web应用负责维护PGTIOU与PGT之间映射关系的内容表;
3. Service ticket(ST) --------- 服务票据 ,由 KDC 的 TGS 发放
4. Proxy Ticket(PT)是应用程序代理用户身份对目标程序进行访问的凭证
5. TGC(Ticket Granting Cookie)--------- 受权的票据证明,上面讲到CAS Server有起到颁发票据(TGT)的作用,所以CAS Server生成TGT(票据)存入session中,并以TGC作为(sessionId),以cookie的形式放在客户端,是来明确身份的凭证。
***TGT(Ticket Grangting Ticket) --------- 票据授权服务,是CAS为用户签发的登录票据,TGT中封装了cookie值与值对应的信息。当请求来时,CAS以cookie值(TGC)为key进行查询缓存中是否有值,有,则证明用户已经登录过了。
- Key Distribution Center(KDC)---------- 密钥发放中心
- ticket-granting service (TGS) --------- 票据授权服务,索取 TGT ,发放 ST
- Authentication service (AS) --------- 认证服务,索取 Crendential (凭据),发放 TGT
ps: cookie:存在客户端,对客户端是可见的,可以篡改,复制其内容,可以看做浏览器存
session:存在服务端,对客户端时透明的(看不见),是一个存在于的服务器端的一个对象集合,其作用时在于网页之间传递数据。
2.CAS单点实现流程

- 通过浏览器访问CAS Client (web)程序的某个页面
- CAS Client 判断用户需要认证,会携带service作为请求参数,重定向到server端 CAS Server
- 进行用户认证
- 发放一次性票据给CAS Client服务器
- 验证票据:(CAS Server)服务器验证票据 Service Ticket 的合法性,验证通过后,允许客户端访问服务
- 服务器验证票据通过后,传输用户认证结果信息给客户端。
CAS(Central Authentication Service)是一种实现单点登录(SSO)的中心认证服务。它由CAS Server和CAS Client组成,其中Server负责验证用户凭证并颁发票据,Client则负责登录校验和票据管理。CAS流程包括用户访问Web应用、重定向到CAS Server认证、Server验证并发放一次性Service Ticket、Client验证Ticket并允许访问服务。
1842

被折叠的 条评论
为什么被折叠?



