CAS 票根‘ST-xxxxx‘不符合目标服务问题解决

这篇博客记录了在CAS REST协议认证过程中遇到的两个主要问题:1) 票据超时;2) 票据不符合目标服务。解决方法包括检查时间同步、配置服务地址等。通过逐步调试,定位到AbstractTicketValidationFilter中的问题,发现是服务地址配置缺少context-path,修正后成功完成校验。解决问题的关键是保持冷静,逐步排查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在CAS相关认证,走的是rest协议认证,有相关问题可以联系沟通。此博客记录一个搞了一天的问题。

1.未能够识别出目标 'ST-3-fHJtkqTUFUyPEUqZTKBibX-3-HsLAPTOP-CJ1R8419'票根

这个问题基于能成功申请ticket的前提下是很简单的,他的ticket时间默认短,超时了,重新请求生成下

2.票根'ST-4-NTS74ixEWqmLy9SjKEWF2qduxvwLAPTOP-CJ1R8419'不符合目标服务

除了网上那些,linux时间不准确啊,调整时间差,jar包缺少之外,还有其余多多少少配置问题。

咱从官方cas sample demo 来说

 看返回的错误信息,那我们就可以在tomcat中一步一步自上而下debug看从

 最终问题可以定位到AbstractTicketValidationFilter(204)的 

final Assertion assertion = this.ticketValidator.validate(ticket,
        constructServiceUrl(request, response));

这个是拿生成的票据和 constructServiceUrl方法的返回值做方法校验,constructServiceUrl这个方法实际返回的是

这个就是服务地址,如何你加了context-path这边也需要加上(我这没加)

这个param-value中的值其实 ,在我们springboot中就是

 最终修改正确后,校验成功

总结:遇到问题,不要慌,我的问题是这个配置导致,其余的可能是其他的,但都可以通过此方法找出根本原因。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值