刷新由cas验证的页面出错了

时间:2013-12-05 05:42:53

标签: java refresh single-sign-on cas

在我从cas服务器验证后,网址改变如下。

  

http://sso.ecen.com:8080/mip/sys/sys_index.jsp?ticket=ST-2-kHhMa9pYTFuOXVUjJl7x-cas

刷新此页面时出现错误消息。

  

org.jasig.cas.client.validation.TicketValidationException:CAS Server无法验证票证。       at org.jasig.cas.client.validation.Cas10TicketValidator.parseResponseFromServer(Cas10TicketValidator.java:31)       at org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:165)       在org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:129)       在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)       在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)       在org.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:103)       在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)       在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)       在ecen.mip.sys.filter.AutoSetUserAdapterFilter.doFilter(AutoSetUserAdapterFilter.java:134)       在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)       在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)       在org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)       在org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)       在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)       在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)       在net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:208)       在net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:181)       在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)       在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)       在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)       在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)       在org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)       在org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)       在org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)       在org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)       在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)       在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)       在org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)       at org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:585)       在org.apache.tomcat.util.net.AprEndpoint $ SocketProcessor.run(AprEndpoint.java:1813)       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)       at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:603)       在java.lang.Thread.run(Thread.java:722)

2 个答案:

答案 0 :(得分:0)

可能是因为您向http发送请求而不是https CAS仅适用于 https

看看yalle的人说:

  

在邮件列表中,我们经常会对SSO似乎无法正常工作的原因提出疑问。默认情况下,CAS仅通过安全连接发送单点登录cookie(CASTGC);换句话说,它不是通过普通的HTTP通道发送的。如果没有SSO cookie,CAS需要对服务票据的每个请求进行重新认证,这解释了缺乏SSO行为。虽然可以禁用此行为,但我们强烈建议您通过SSL / TLS访问CAS和应用程序入口点。

答案 1 :(得分:0)

我知道为什么会这样。 您可以在此处查看ticket expiration policy。然后您就知道如何配置服务票证使用时间。 配置文件路径:

  

CAS \ WEB-INF \弹簧配置\ ticketExpirationPolicies.xml