最近在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中就是
最终修改正确后,校验成功
总结:遇到问题,不要慌,我的问题是这个配置导致,其余的可能是其他的,但都可以通过此方法找出根本原因。