cas未能够识别出目标 ***;票根
使用cas做单点登录,在验证ticket的时候,报下面的错误:
<cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'> <cas:authenticationFailure code='INVALID_TICKET'> 未能够识别出目标 'ST-2-gqQSrEpDwAQlHLdkJIEz-cas01.example.org'票根 </cas:authenticationFailure> </cas:serviceResponse>
原因,serviceTicketExpirationPolicy默认值时间是1.8秒,当登录成功,携带ST返回客户端,客户端带着server和ST去服务器验证,但此时服务器端的ST已经失效。
解决办法:
修改WEB-INF/spring-configuration/ticketExpirationPolicies.xml中的 时间,SECONDS 指明时间单位
<!-- Expiration policies --> <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="1800000" c:timeUnit-ref="SECONDS"/>
每天进步一点点