cas 提供了可插拔式的ticket过期策略框架用于tgt和st。在cas应用中,tgt和st的过期策略配置默认在cas/webapp/WEB-INF/spring-configuration/ticketExpirationPolicies.xml
文件中。在cas的过期策略中,并没有明确指出哪一种ticket应用于哪一种过期策略,但是我们根据类名,还是能够进行区分的。但是并不能说明这个过期策略只能用于这一种ticket,也就是说它的过期策略是人为划分的。
tgt的过期策略
1.org.jasig.cas.ticket.support.HardTimeoutExpirationPolicy
它的配置
<bean id="grantingTicketExpirationPolicy"
class="org.jasig.cas.ticket.support.HardTimeoutExpirationPolicy">
<constructor-arg index="0" value="7200000" /> <!-- 单位是毫秒 -->
</bean>
在tgt创建之时起,两个小时之后则tgt过期,这个是硬性的没有商量的余地,所以类名有个hard;
2.org.jasig.cas.ticket.support.NeverExpiresExpirationPolicy
它的配置
<bean id="grantingTicketExpirationPolicy"
class="org.jasig.cas.ticket.support.NeverExpiresExpirationPolicy">
</bean>
这个不用解释了;
3.org.jasig.cas.ticket.support.RememberMeDelegatingExpirationPolicy
它的配置
<bean id="grantingTicketExpirationPolicy"
class="org.jasig.cas.ticket.support.RememberMeDelegatingExpirationPolicy">
<property name="sessionExpirationPolicy">
<bean class="org.jasig.cas.ticket.support.TimeoutExpirationPolicy">
<constructor-arg index="0" value="XXXXXXXX" />
</bean>
</property>
<property name="rememberMeExpirationPolicy">
<bean class="org.jasig.cas.ticket.support.TimeoutExpirationPolicy">
<constructor-arg index="0" value="XXXXXXXX" />
</bean>
</property>
</bean>
请参看:remember me 一节,
满足sessionExpirationPolicy或者rememberMeExpirationPolicy过期策略之一,则tgt过期;
4.org.jasig.cas.ticket.support.ThrottledUseAndTimeoutExpirationPolicy
它的配置
<bean id="grantingTicketExpirationPolicy"
class="org.jasig.cas.ticket.support.ThrottledUseAndTimeoutExpirationPolicy">
p:timeToKillInMilliSeconds="7200000"
p:timeInBetweenUsesInMilliSeconds="5000"
</bean>
在tgt创建之后,上次应用距本次应用超过2小时或者小于5秒钟,只要满足其一,则tgt过期。
5.org.jasig.cas.ticket.support.TicketGrantingTicketExpirationPolicy
这个是cas对于tgt的默认配置,它的配置:
<bean id="grantingTicketExpirationPolicy" class="org.jasig.cas.ticket.support.TicketGrantingTicketExpirationPolicy"
p:maxTimeToLiveInSeconds="${28800}"
p:timeToKillInSeconds="${7200}"/>
当用户在2个小时(7200秒)之内不动移动鼠标或者进行系统超过8个小时(28800秒),则tgt过期;
6.org.jasig.cas.ticket.support.TimeoutExpirationPolicy
它的配置
<bean id="grantingTicketExpirationPolicy"
class="org.jasig.cas.ticket.support.TimeoutExpirationPolicy">
<constructor-arg index="0" value="7200000" /> <!-- 单位是毫秒 -->
</bean>
如果两个小时不动鼠标则tgt过期;
st的过期策略
1.org.jasig.cas.ticket.support.MultiTimeUseOrTimeoutExpirationPolicy
它的配置
<util:constant id="SECONDS" static-field="java.util.concurrent.TimeUnit.SECONDS"/>
<bean id="serviceTicketExpirationPolicy" class="org.jasig.cas.ticket.support.MultiTimeUseOrTimeoutExpirationPolicy"
c:numberOfUses="1" c:timeToKill="10" c:timeUnit-ref="SECONDS"/>
或者
<bean id="serviceTicketExpirationPolicy"
class="org.jasig.cas.ticket.support.MultiTimeUseOrTimeoutExpirationPolicy">
<constructor-arg index="0" value="1" /> <!--使用次数 -->
<constructor-arg index="1" value="10000" /> <!-- 单位是毫秒 -->
</bean>
使用次数为1 次或者超过10秒没有应用均会引起st过期;
原文地址:
相关推荐
3. **TGT与ST**:TGT是全局的身份验证令牌,用于创建服务票据(service ticket, ST)。ST是为特定服务生成的一次性使用的凭据,用于验证用户是否已通过CAS身份验证。 4. **自定义认证**:这里的代码可能包含对MySQL...
- CAS服务器收到注销请求后,会从session中移除所有加入单点登录范围内的session ID,并调用各应用接口销毁session中的TGT,同时使浏览器端的TGC失效。 - 下次用户访问任何应用时,流程将重新开始。 #### 四、CAS...
描述了CAS破解的具体思路,可以帮助用户找到破解CAS的具体办法
TGT 是 CAS 服务器颁发给用户的身份验证凭证,ST 是 CAS 服务器颁发给用户的服务凭证,PT 是 CAS 服务器颁发给用户的代理凭证。 URL CAS 协议的 URL 是指 CAS 服务器提供的 HTTP 服务端点。CAS 协议的 URL 可以...
TGT是CAS系统中的一个重要概念,用于后续的服务票证(Service Ticket,简称ST)的获取。获取TGT的过程通常分为以下几个步骤: 1. **使用Postman插件**:推荐使用Google Chrome浏览器的Postman插件进行RESTful API的...
用户输入凭据并通过数据库验证后,CAS服务器生成TGT,并基于此TGT生成ST。TGT被存入TGC中,然后发送回客户端浏览器。同时,CAS服务器将ST作为参数传回`test1`应用。 3. **服务端验证**:`test1`应用收到带有TGC的...
压缩包中包含的文档将指导你如何配置CAS客户端,包括在Spring或Web.xml中添加必要的配置项,设置服务URL,以及处理TGT(Ticket Granting Ticket)和ST(Service Ticket)。 3. **CAS4.2.7源码**: CAS 4.2.7是CAS...
3. **用户认证流程**:详细步骤解释了用户如何从登录到访问服务的整个过程,包括登录页面跳转、CAS服务器验证、返回TGT和ST,以及服务验证ST。 4. **故障排查**:可能遇到的问题,如票证验证失败、重定向错误等,...
5. CAS生成ST(Service Ticket),用于授权访问特定服务,并将用户重定向回服务,ST作为查询参数附在URL上。 6. 服务收到ST后,向CAS服务器验证ST的有效性。 7. 如果验证成功,服务允许用户访问。 **安全性考虑** ...
CAS认证原理 ...通过使用TGT和ST等票据机制,CAS能够在不同应用间实现无缝的认证流程。CAS的发展历程和采用的技术框架都指向了其在企业应用中的实用性和高效性,使其成为众多企业实施SSO的重要选择。
3. **票据-granting-ticket(TGT)与服务-ticket(ST)**:在CAS流程中,用户首次认证成功后会得到一个TGT,后续请求服务时,使用TGT换取针对特定服务的ST。ST是一次性的,只能用于一次服务验证。 4. **协议支持**...
3. **认证成功后的处理**:用户通过登录验证后,CAS Server会生成Ticket Granting Ticket (TGT) 和随机的Service Ticket (ST),并将ST作为参数附带回用户的原始请求,同时在用户的浏览器中设置一个包含TGT的Cookie。...
7. **票证管理**:CAS使用TGT(Ticket Granting Ticket)和ST(Service Ticket)两种票证进行身份验证。TGT是一次登录后生成的,ST是为特定服务请求的,且一次性有效。 8. **安全性增强**:4.0.0版本加强了安全性,...
同时,理解CAS的工作流程,如TGT(Ticket Granting Ticket)和ST(Service Ticket)的概念,将有助于你更好地调试和优化系统。 总的来说,CAS整合涉及到客户端和服务器端的配置,以及对用户认证流程的理解和定制。...
CAS服务器是基于Spring框架构建的Java ... 根据用户的请求,通过使用TGT作为标记的浏览器重定向向服务发出服务票据(ST)。 ST随后通过反向信道通信在CAS服务器上进行验证。 CAS Protocol文档中详细描述了这些交互。
但我们可以假设它们包含了CAS服务器的核心库,如`cas-server-core`、`cas-server-support-generic`、`cas-server-webapp`等,用于处理HTTP请求、生成和验证服务票据(ST)以及票证授予票据(TGT)。 2. CAS客户端...
4. CAS 服务器验证 TGT 并生成 ST,将其传递给客户端。 5. 客户端使用 ST 访问受保护的资源。 三、准备工作 在部署 CAS 服务器之前,需要进行一些准备工作,包括: 1. 生成服务器证书:需要生成一个服务器证书,...
之后,当用户访问其他应用时,会携带TGT请求新的ST,ST再由CAS Server根据TGT生成并发送给应用,应用通过验证ST来确认用户身份。 5. 配置要点: - 数据源:CAS Server通常需要一个数据库来存储用户信息和票证。...
在本项目中,Pac4j作为Shiro的插件,帮助Shiro与CAS5.x进行通信,处理CAS的登录票证(TGT,Ticket Granting Ticket)和服务票证(ST,Service Ticket)。 实现流程如下: 1. 用户访问SpringBoot应用,由于未登录,...