CAS Client Filter - how to handle ticket validation exception
Matteo Matteo
matteo at inbox.ru
Wed Jul 2 03:53:47 EDT 2008
Cas client 2.1.0 from yale.
The problem is that if you session has timed out and you press F5 for page reloading, than if there's the ticket parameter in request - you'll get an InternalError Exception caused by ticket validation.
The question is - what is the best solution for exception handling in this case and further redirect to CAS Server for authorization?
Thanks
javax.servlet.ServletException: Unable to validate ProxyTicketValidator [[edu.yale.its.tp.cas.client.ProxyTicketValidator proxyList=[null] [edu.yale.its.tp.cas.client.ServiceTicketValidator casValidateUrl=[https://casintern.local.company.de:8443/cs/proxyValidate] ticket=[234sd82378] service=[http%3A%2F%2Fexport4.company.com%2Fwdata%2Findex.jsp%3Fm%3D0] errorCode=[INVALID_TICKET] errorMessage=[Ticket '234sd82378' wurde nicht anerkannt] renew=false entireResponse=[<cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'>
<cas:authenticationFailure code='INVALID_TICKET'>
Ticket '234sd82378' wurde nicht anerkannt
</cas:authenticationFailure>
</cas:serviceResponse>
]]]]
edu.yale.its.tp.cas.client.filter.CASFilter.doFilter(CASFilter.java:382)
root cause
edu.yale.its.tp.cas.client.CASAuthenticationException: Unable to validate ProxyTicketValidator [[edu.yale.its.tp.cas.client.ProxyTicketValidator proxyList=[null] [edu.yale.its.tp.cas.client.ServiceTicketValidator casValidateUrl=[https://casintern.local.company.de:8443/cs/proxyValidate] ticket=[234sd82378] service=[http%3A%2F%2Fexport.company.com%2Fwdata%2Findex.jsp%3Fm%3D0] errorCode=[INVALID_TICKET] errorMessage=[Ticket '234sd82378' wurde nicht anerkannt] renew=false entireResponse=[<cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'>
<cas:authenticationFailure code='INVALID_TICKET'>
Ticket '234sd82378' wurde nicht anerkannt
</cas:authenticationFailure>
</cas:serviceResponse>
]]]]
edu.yale.its.tp.cas.client.CASReceipt.getReceipt(CASReceipt.java:62)
edu.yale.its.tp.cas.client.filter.CASFilter.getAuthenticatedUser(CASFilter.java:458)
edu.yale.its.tp.cas.client.filter.CASFilter.doFilter(CASFilter.java:379)
More information about the cas
mailing list