首页 > 其他分享 >cas入门之二十四:ticket的过期策略

cas入门之二十四:ticket的过期策略

时间:2023-09-20 14:06:36浏览次数:31  
标签:tgt cas support 过期 org ticket


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过期;

标签:tgt,cas,support,过期,org,ticket
From: https://blog.51cto.com/u_16242566/7536788

相关文章

  • case04数据结构字典
    编程提示·针对字典而言,输出字典的键运用keys函数,输出字典的值运用values函数,如需遍历字典的全部元素则可以通过items函数完成。·在字典中新增键和值,可以运用update函数;删除相应的键和值,则可以运用del命令。汇率变量日期中间价涨跌幅(%)美元兑人民币202......
  • case02数据结构之列表
    数据结构之列表:全球股票指数【任务1】在Python中使用列表数据结构并向两个列表中分别输入表1-3中的指数名称和收盘价。同时,在包含指数名称的列表中,依次访问"富时100指数""沪深300指数"这两个元素;在包含收盘价的列表中,依次找出"15437.5100""28458.4400"这两个元素的索引值。......
  • Symantec GhostCast Server是一款用于网络传输和部署镜像的软件工具 Symantec GhostCa
    SymantecGhostCastServer是一款用于网络传输和部署镜像的软件工具,它提供了一组命令行选项来配置和控制其功能。以下是一些常用的SymantecGhostCastServer命令:ghostsrv-clone:启动GhostCastServer并允许克隆图像。ghostsrv-multicast:启动GhostCastServer以启用多播传......
  • Cascader级联选择器多选时获取所有选中状态的节点和半选状态的节点的数组集合
    <!--Cascader级联选择器组件--><el-cascaderv-model="query.companyList"ref="searchCompanyCascaderRef":options="permissionCompanyTree":props="companyCascaderProp"collapse-tagsclearable></el......
  • VCSA证书过期时当存在第三方的插件或解决方案证书更新报错问题处理
    VCSA证书过期时当存在第三方的解决方案证书更新报错问题处理  测试环境存在Zerto时已经通过验证TaskSteps:SSHtoPSCRuntheCertificateManagertoolfrom /usr/lib/vmware-vmca/bin/certificate-managerSelecttoReplaceMachineSSLCertificatewithCustomSig......
  • Domain Admin域名和SSL证书过期监控到期提醒
    基于Python3+Vue3.js技术栈实现的域名和SSL证书监测平台用于解决,不同业务域名SSL证书,申请自不同的平台,到期后不能及时收到通知,导致线上访问异常,被老板责骂的问题核心功能:域名和SSL证书的过期监控,到期提醒支持证书:单域名证书、多域名证书、通配符证书、IP证书、自签名证书......
  • [Servlet/Tomcat] HttpServletRequest#getHeader(headerNameWithIgnoreCase)(获取heade
    1故事背景最近项目上有个业务需求,翻译成技术需求,即:将request.headers中的几个header入参转换成request.body(pageRequest)中的内置参数。为便于灵活配置,header参数名称是动态可配置的(存放于nacos配置中心),比如:sysCode、Accept-Language技术实现,主要就springmvc的org.spr......
  • XMind2TestCase安装问题
     安装完成了XMind2TestCase之后,在命令端检查安装是否成功,报错:C:\Users\Administrator>xmind2testcaseTraceback(mostrecentcalllast): File"C:\Softwares\Python\Scripts\xmind2testcase-script.py",line33,in<module> sys.exit(load_entry_point('......
  • 使用设计模式改写if/else或switch/case语句
    在写代码的时候,经常会用到if/else语句或者switch/case语句。虽然很省事,但是没有体现到java的封装、继承、多态等特性。没有用到java的面向对象编程的精髓。比如这种if/else语句:Stringstr="菠萝";if("苹果".equals(str)){ System.out.println("又大又红的苹果");}else......
  • axios封装-token过期请求中断
    importaxiosfrom'axios'import{useUserStore}from'@/pinia'import{ElMessage,ElMessageBox}from'element-plus'importqsfrom'qs'constservice=axios.create({baseURL:'/api',withCredenti......