cas未能够识别出目标 ***;票根

  使用cas做单点登录,在验证ticket的时候,报下面的错误:

<cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'>
       <cas:authenticationFailure code='INVALID_TICKET'>
       未能够识别出目标 &#039;ST-2-gqQSrEpDwAQlHLdkJIEz-cas01.example.org&#039;票根
       </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"/>

 

  

 

posted @ 2018-07-12 16:46  木易森林  阅读(5991)  评论(0编辑  收藏  举报