项目在集成CAS的时候一直报下面这个错误:
javax.servlet.ServletException: org.jasig.cas.client.validation.TicketValidationException:
票根'ST-685-TH4KLdkEo9k7CXfle4W91502177342624-eFfa-cas'不符合目标服务
org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:194)
org.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:116)
org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:76)
票根'ST-685-TH4KLdkEo9k7CXfle4W91502177342624-eFfa-cas'不符合目标服务
org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:194)
org.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:116)
org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:76)
经过测试发现。是在
CASFilter中,serverName的配置与注册服务不一致导致的。
<init-param>
<param-name>serverName</param-name>
<!--这里是应用地址,注意是域名:端口或者ip:端口-->
<param-value>http://xxx.xxx.xxx.com</param-value>
</init-param>
就是上面的param-value。与cas服务提供商确认一下即可。
注:有另外一种原因是你的域名重定向之后url变化了,跟你注册的应用服务的地址不一样,也会报这个错误。