Sorry for this lengthy email...

Sometimes I receive this exception for one of my Spring based client apps 
(other client apps work fine) on the Cas Server.
It occurs every few 100 authentications, sometimes more often.

The exception on CAS Server:

2011-02-10 02:29:54,226 [TP-Processor11] [[email protected]] INFO  
org.jasig.cas.authentication.AuthenticationManagerImpl - AuthenticationHandler: 
org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler
 successfully authenticated the user which provided the following credentials: 
[callbackUrl: https://casclientserver.xx/app/proxy/receptor]
2011-02-10 02:29:54,231 [TP-Processor11] [[email protected]] ERROR 
org.jasig.cas.web.ServiceValidateController - TicketException generating ticket 
for: [callbackUrl: https://casclientserver.xx/app/proxy/receptor]
org.jasig.cas.ticket.InvalidTicketException
        at 
org.jasig.cas.CentralAuthenticationServiceImpl.delegateTicketGrantingTicket(CentralAuthenticationServiceImpl.java:284)
        at sun.reflect.GeneratedMethodAccessor462.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
        at 
org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
        at 
org.perf4j.aop.AbstractTimingAspect.doPerfLogging(AbstractTimingAspect.java:71)
        at sun.reflect.GeneratedMethodAccessor186.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
        at 
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
        at 
org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
        at 
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at 
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at 
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
        at $Proxy65.delegateTicketGrantingTicket(Unknown Source)
        at 
org.jasig.cas.web.ServiceValidateController.handleRequestInternal(ServiceValidateController.java:127)
        at 
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
        at 
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
        at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
        at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
        at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
        at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at 
org.jasig.cas.web.init.SafeDispatcherServlet.service_aroundBody2(SafeDispatcherServlet.java:115)
        at 
org.jasig.cas.web.init.SafeDispatcherServlet.service_aroundBody3$advice(SafeDispatcherServlet.java:44)
        at 
org.jasig.cas.web.init.SafeDispatcherServlet.service(SafeDispatcherServlet.java:1)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
com.github.inspektr.common.web.ClientInfoThreadLocalFilter.doFilter(ClientInfoThreadLocalFilter.java:46)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
        at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
        at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
        at 
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
        at 
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
        at java.lang.Thread.run(Thread.java:619)


CAS server version: 2.4.3.1 with JPA based ticket registry (Indexes for MySQL 
have been manually created)
Cas client app uses:
 - Spring Security 2.0.3
 - cas-client-core 3.1.5

Here is the related client Spring config for CAS:

  <bean id="casAuthenticationProcessingFilter" 
class="org.springframework.security.ui.cas.CasProcessingFilter">
    <property name="authenticationManager" ref="authenticationManager"/>
    <property name="authenticationFailureUrl" value="/casfailed.html"/>
    <property name="defaultTargetUrl" value="/sec/start"/>
    <property name="proxyGrantingTicketStorage" 
ref="proxyGrantingTicketStorage" />
    <property name="proxyReceptorUrl" value="/proxy/receptor" />
  </bean>

  <bean id="casProcessingFilterEntryPoint" 
class="org.springframework.security.ui.cas.CasProcessingFilterEntryPoint">
    <property name="loginUrl" value="https://casserver.xx/cas/login"/>
    <property name="serviceProperties" ref="serviceProperties"/>
  </bean>

  <bean id="casAuthenticationProvider" 
class="org.springframework.security.providers.cas.CasAuthenticationProvider">
    <property name="userDetailsService" ref="userDetailsService"/>
    <property name="serviceProperties" ref="serviceProperties" />
    <property name="ticketValidator">
      <bean class="org.jasig.cas.client.validation.Cas20ServiceTicketValidator">
        <!-- "/serviceValidate" will be appended by the validator itself -->
        <constructor-arg index="0" value="https://casserver.xx/cas/"; />
        <property name="proxyGrantingTicketStorage" 
ref="proxyGrantingTicketStorage" />
        <property name="proxyCallbackUrl" 
value="https://casclientserver.xx/app/proxy/receptor"; />
      </bean>
    </property>
    <property name="key" value="an_id_for_this_auth_provider_only"/>
  </bean>

  <bean id="proxyGrantingTicketStorage" 
class="org.jasig.cas.client.proxy.ProxyGrantingTicketStorageImpl" />

  <bean id="serviceProperties" 
class="org.springframework.security.ui.cas.ServiceProperties">
    <property name="service" 
value="https://casclientserver.xx/app/j_spring_cas_security_check"/>
    <property name="sendRenew" value="false"/>
  </bean>

<!-- filterInvocationInterceptor -->...
 <property name="objectDefinitionSource">
   <security:intercept-url pattern="/proxy/**" 
access="ROLE_DUMMY_CAS_PROXY_RECEPTOR" />
...



Has anybody an idea what the problem might be?


Thanks,
Robert





-- 
You are currently subscribed to [email protected] as: 
[email protected]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-user

Reply via email to