解决CAS客户端验证ST票据时发生的TicketValidationException问题
来源:互联网 发布:java 局域网聊天室 编辑:程序博客网 时间:2024/05/22 06:56
最近在项目中debug验证ST票据之后返回值时,发生了ST票据验证错误的异常。
org.jasig.cas.client.validation.TicketValidationException:
Ticket ‘ST-80-FFSThMbPg2dMee3eFveu-8080’ not recognized
经过研究CAS服务器端代码发现,原来是CAS服务器的ST票据有效期时间太短,默认是10秒。开发在debug时,非常容易超过10秒,所以会发生TicketValidationException异常。
解决方法:要在CAS服务器端修改两处配置
1 修改保存在Redis或Memcached等缓存中的票据本身的有效期。
在WEB-INF/spring-configuration/ticketRegistry.xml文件中修改。
<bean id="ticketRegistry" class="com.casserver.ticket.TicketRegistry"> <constructor-arg index="0" ref="redisClient" /> <!-- TGT timeout in seconds --> <constructor-arg index="1" value="28800" /> <!-- ST timeout in seconds 将默认时间由10秒改为 1800秒(半小时) --> <constructor-arg index="2" value="1800" /> <!-- <property name="kryoTranscoder" ref="kryoTranscoder" /> --> </bean>
2 修改CAS服务器本身的超时判断时间。
在WEB-INF/cas.properties中修改。也是将默认时间由10秒改为 一个大一点的数字,如1800秒(半小时)
### Service Ticket Timeout# Default sourced from WEB-INF/spring-configuration/ticketExpirationPolices.xml## Service Ticket timeout - typically kept short as a control against replay attacks, default is 10s. You'll want to# increase this timeout if you are manually testing service ticket creation/validation via tamperdata or similar tools# st.timeToKillInSeconds=10st.timeToKillInSeconds=1800
改好之后,用postman做个测试。
成功了,不再出现TicketValidationException异常了。
0 0
- 解决CAS客户端验证ST票据时发生的TicketValidationException问题
- CAS部署错误1:Ticket验证异常org.jasig.cas.client.validation.TicketValidationException:
- CAS Ticket票据:TGT、ST、PGT、PT、PGTIOU
- CAS票据之ST与TGT过期策略详细说明
- CAS Ticket票据:TGT、ST、PGT、PT、PGTIOU
- CAS票据验证失败一例
- CAS操作ABA问题发生的场景
- CAS操作ABA问题发生的场景
- cas客户端验证流程
- CAS 客户端登录验证
- 解决eclipse的 验证位置时发生错误 方法
- ST解决RMQ问题
- CAS 整合/v1/tickets/{TGT id} 与/serviceValidate ,生成ST时直接验证其合法性。
- cas的客户端搭建
- 解决kindeditor上传图片时发生“服务器发生故障”的问题
- 客户端验证的一个问题!
- ST算法解决RMQ问题
- 解决ST-LINK进行硬件调试时,进不了main()函数的问题
- android开发之认识eclipse(1)
- sql与nosql的区别
- 完美网络
- 这首歌 从不曾忘怀......让心把家回 为了你的美
- Nginx学习(2)
- 解决CAS客户端验证ST票据时发生的TicketValidationException问题
- 关于处理JavaWeb中Servlet中返回jsp乱码问题
- Android之使用NotificationListenerService使得自己的应用不被杀及其源码分析
- 触摸与手势-----事件
- spring aop学习中遇到的问题——error at ::0 formal unbound in pointcut
- eclipse中导入myeclipse项目部署运行
- Linux下使用system()函数一定要谨慎
- 适合自己的Git工作流
- awk-基本语法知识