`

CAS Ticket票据:TGT、ST、PGT、PT、PGTIOU

 
阅读更多

CAS的核心就是其Ticket,及其在Ticket之上的一系列处理操作。CAS的主要票据有TGTSTPGTPGTIOUPT,其中TGTSTCAS1.0协议中就有的票据,PGTPGTIOUPTCAS2.0协议中有的票据。

1、术语解释

·         TGTTicket Grangting Ticket

TGTCAS为用户签发的登录票据,拥有了TGT,用户就可以证明自己在CAS成功登录过。TGT封装了Cookie值以及此Cookie值对应的用户信息。用户在CAS认证成功后,CAS生成cookie(叫TGC),写入浏览器,同时生成一个TGT对象,放入自己的缓存,TGT对象的ID就是cookie的值。当HTTP再次请求到来时,如果传过来的有CAS生成的cookie,则CAS以此cookie值为key查询缓存中有无TGT ,如果有的话,则说明用户之前登录过,如果没有,则用户需要重新登录。

·         TGC Ticket-granting cookie):

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

·         STService Ticket

STCAS为用户签发的访问某一service的票据。用户访问service时,service发现用户没有ST,则要求用户去CAS获取ST。用户向CAS发出获取ST的请求,如果用户的请求中包含cookie,则CAS会以此cookie值为key查询缓存中有无TGT,如果存在TGT,则用此TGT签发一个ST,返回给用户。用户凭借ST去访问serviceserviceSTCAS验证,验证通过后,允许用户访问资源。

·         PGTProxy Granting Ticket

Proxy Service的代理凭据。用户通过CAS成功登录某一Proxy Service后,CAS生成一个PGT对象,缓存在CAS本地,同时将PGT的值(一个UUID字符串)回传给Proxy Service,并保存在Proxy Service里。Proxy Service拿到PGT后,就可以为Target Serviceback-end service)做代理,为其申请PT

·         PGTIOU(全称 Proxy Granting Ticket I Owe You

PGTIOUCAS协议中定义的一种附加票据,它增强了传输、获取PGT的安全性。
PGT的传输与获取的过程:Proxy Service调用CASserviceValidate接口验证ST成功后,CAS首先会访问pgtUrl指向的https url,将生成的 PGTPGTIOU传输给proxy serviceproxy service会以PGTIOUkeyPGTvalue,将其存储在Map中;然后CAS会生成验证ST成功的xml消息,返回给Proxy Servicexml消息中含有PGTIOUproxy service收到Xml消息后,会从中解析出PGTIOU的值,然后以其为key,在map中找出PGT的值,赋值给代表用户信息的Assertion对象的pgtId,同时在map中将其删除。

·         PTProxy Ticket

PT是用户访问Target Serviceback-end service)的票据。如果用户访问的是一个Web应用,则Web应用会要求浏览器提供ST,浏览器就会用cookieCAS获取一个ST,然后就可以访问这个Web应用了。如果用户访问的不是一个Web应用,而是一个C/S结构的应用,因为C/S结构的应用得不到cookie,所以用户不能自己去CAS获取ST,而是通过访问proxy service的接口,凭借proxy servicePGT去获取一个PT,然后才能访问到此应用。 

2TGTSTPGTPT之间关系

       1STTGT签发的。用户在CAS上认证成功后,CAS生成TGT,用TGT签发一个STSTticketGrantingTicket属性值是TGT对象,然后把ST的值redirect到客户应用。

    2PGTST签发的。用户凭借ST去访问Proxy serviceProxy serviceCAS验证ST(同时传递PgtUrl参数给CAS),如果ST验证成功,则CASST签发一个PGTPGT对象里的ticketGrantingTicket是签发STTGT对象。

    3PTPGT签发的。Proxy service代理back-end serviceCAS获取PT的时候,CAS根据传来的pgt参数,获取到PGT对象,然后调用其grantServiceTicket方法,生成一个PT对象。

分享到:
评论

相关推荐

    CAS 协议 票据、url介绍,包括cas1.0和cas2.0

    票据可以是 Ticket-Granting Ticket(TGT)、Service Ticket(ST)、Proxy Ticket(PT)等。TGT 是 CAS 服务器颁发给用户的身份验证凭证,ST 是 CAS 服务器颁发给用户的服务凭证,PT 是 CAS 服务器颁发给用户的代理...

    CAS restful接口调用

    TGT是CAS系统中的一个重要概念,用于后续的服务票证(Service Ticket,简称ST)的获取。获取TGT的过程通常分为以下几个步骤: 1. **使用Postman插件**:推荐使用Google Chrome浏览器的Postman插件进行RESTful API的...

    cas服务端和客户端可用代码

    3. **TGT与ST**:TGT是全局的身份验证令牌,用于创建服务票据(service ticket, ST)。ST是为特定服务生成的一次性使用的凭据,用于验证用户是否已通过CAS身份验证。 4. **自定义认证**:这里的代码可能包含对MySQL...

    cas java cas java 实例

    - 登录票据(Ticket):CAS在用户成功验证后生成的唯一标识,用于证明用户的身份。主要有两种类型:Service Ticket和Ticket Granting Ticket(TGT)。 - TGT:用户首次登录时,CAS服务器生成的会话票据,存储在...

    比较详细的中文cas协议介绍

    - **Ticket**:CAS协议的核心在于票证(Ticket)的概念。主要有四种类型的票证: - **Ticket-Granting Ticket (TGT)**:由CAS服务器颁发,保存在客户端(通常是浏览器的cookie中),用于代表用户的登录状态,是后续...

    我们公司用了6年的通用的权限管理系统设计方案.docx

    4. **ST签发**:CAS验证用户持有的TGT有效性后,签发ST。 5. **服务验证**:服务验证ST的有效性后,允许用户访问资源。 6. **代理认证**(可选):对于需要通过代理服务访问的资源,CAS签发PGT,并通过代理服务向CAS...

    cas单点登录

    4. **Service Ticket (ST)**:当用户访问受保护的应用时,CAS Client会携带TGT向CAS Server请求服务票据ST,ST是针对特定服务的,每个服务请求都会生成一个新的ST。 **CAS实现流程:** 1. 用户尝试访问受保护的应用...

    cas原理.doc

    1. **Ticket Granting Ticket (TGT)**:TGT是由CAS服务器生成的一次性会话票据,存储在服务器端和用户的浏览器cookie中。当用户首次登录时,CAS服务器会检查TGT是否存在,如果存在则表示用户已经验证过身份。 2. **...

    Weblogic使用YALE(耶鲁)CAS实现SSO单点登录 的方法.doc

    * 扩展认证接口:CAS 服务器提供了多种认证接口,例如 LDAP、Database、XML 等,可以根据需要选择合适的认证接口。 * JDBC 认证方法:可以使用 JDBC 认证方法来验证用户的身份。 五、部署 CAS Client 在部署 CAS ...

    cas-client-3.2.1和cas-server-3.5.2

    3. **票证验证**: 用户首次登录时,服务器会生成一个Ticket Granting Ticket(TGT),后续请求会使用这个TGT生成Service Ticket,从而实现无密码验证。 4. **代理认证**: 支持代理认证模式,允许用户通过代理服务...

    shiro+cas单点登录技术分析

    Portal代理的单点登录会涉及到额外的票据,如PGT(Proxy Granting Ticket)和PGTIOU(Proxy Granting Ticket I O U),这些票据用于在代理和具体服务之间传递用户登录状态。 为了更好的理解Shiro和CAS单点登录的...

    cas4.1.x集成mysql,ldap,redis(session和票据),写了简单的两个客户端demo

    - 票据管理:TGT是CAS SSO机制的核心,用于生成后续的服务票据(Service Ticket)。将TGT存储在Redis中,能快速查找和验证票据,确保安全性和效率。 4. **客户端Demo**: - 项目包含两个简单的客户端示例,用于...

    LinuxSCSI框架tgt.zip

    Linux SCSI框架tgt是一个开源项目,它为Linux操作系统提供了一个统一的接口来开发和管理各种SCSI目标驱动,如iSCSI、Fibre Channel、SRP等。tgt框架的主要目标是简化SCSI目标驱动的实现过程,减少代码重复,并提高...

    cas认证原理

    - Ticket-Granting Service(TGS):票据授权服务,根据TGT发放特定服务的ST。 CAS工作原理 当用户首次尝试访问一个受CAS保护的应用时,应用服务器会检查用户浏览器中是否存在有效的ST。如果没有,用户会被重定向到...

    cas-server-3.4.2.1-release

    5. **Service Ticket (ST)**:基于 TGT,为每个特定服务生成的短期凭证,允许用户访问服务。 **配置与部署** 部署 CAS 服务器涉及以下步骤: 1. **环境准备**:确保系统满足 CAS 的硬件和软件需求,如 Java 运行...

    cas sso server page

    CAS服务器作为SSO的核心,负责处理用户的认证请求,并向各个应用系统提供验证票证(Ticket Granting Ticket, TGT)。当用户访问受保护的应用时,会被重定向到CAS服务器进行身份验证。 2. CAS服务器安装与配置: ...

    cas的部署规则

    - **ST**(Service Ticket):由TGT生成的一次性随机加密字符串,用于证明用户已在CAS服务器上完成认证。 #### 三、CAS的工作原理 接下来,我们将详细介绍CAS的工作流程,以及单点登录是如何实现的。 ##### 1. ...

    单点登录 - CAS【一】

    6. **服务访问**:CAS服务器验证票据的有效性,如果有效,会告知SP用户已认证,SP则允许用户访问请求的服务。 ### CAS组件与配置 - **CAS Server**:核心组件,包含认证、授权、票据管理等功能。 - **CAS Client**...

    cas单点登录server端代码

    SSO的核心在于Ticket Granting Ticket(TGT)和Service Ticket(ST)。用户首次登录时,CAS Server会创建TGT,存储在用户的浏览器cookie中。之后,当用户访问其他应用时,会携带TGT请求新的ST,ST再由CAS Server...

Global site tag (gtag.js) - Google Analytics