David, The CAS version I'm using is 3.0.7, while the casfilter client is 2.1.1 .
The problem I described has nothing or little to do with CAS clustering (even if I actually have a clustered cas environment). The problem occours if you need to configure clustering for the application that acts as a client to cas, using the casfilter java client library. To do this, you need to set the <distributable/> tag in the web.xml of the client application (in my case, it is a liferay portal installation), and this seems to conflict with the CASReceipt class which, at the 2.1.1 version, is not serializable. Hope this helps. 2007/8/30, David Pham <[EMAIL PROTECTED]>: > > Hi Claudio, > I am also implementing a setup with CAS 2.1 + Tomcat 5.0.28 + > Jboss-cache and it is setup for clustering, but I haven't come across the > exception that you experienced. Granted my setup isn't working completely > as my replication component does not seem to work (I believe this is just a > configuration issue), but I am wondering if the problem you're seeing is > something I will encounter or are you doing something more unique. You > stated that as long as the <distributable /> tag is present in the > web.xmlthen you don't see the error? > > Regards, David > > On 8/30/07, Claudio Tassini <[EMAIL PROTECTED] > wrote: > > > > Ok, that's what we did and it seems to work. We wrote a small patch to > > make the CASReceipt serializable and we are now doing some testing over it. > > > > > > Can we contribute uploading this patch somewhere? > > > > 2007/8/30, Scott Battaglia <[EMAIL PROTECTED]>: > > > > > > It appears that Tomcat's clustering is based on serializing objects > > > across the different nodes. The CASReceipt object is not serializable ( > > > i.e. does not extend Serializable). The easiest and quickest solution > > > is to modify the source code of the library to make the CASReceipt > > > serializable. > > > > > > -Scott > > > > > > On 8/30/07, Claudio Tassini < [EMAIL PROTECTED]> wrote: > > > > > > > Hi all, > > > > > > > > > > > > this seems quite strange. I have a clustered cas environment, with > > > > tomcat 5.5.23 and cas 3.0.7 and jboss-cache. All works fine. > > > > > > > > The application that CAS need to manage the SSO for is a Liferay > > > > Portal, which is deployed as a webapp in the very same tomcat as cas' . > > > > Now, > > > > this works too as far as I add the <distributable/> tag in the > > > > web.xml of the liferay webapp (which is needed to replicate > > > > liferay's session info between the cluster nodes). If liferay is set as > > > > distributable when i login i see cas give and validates the TGT and ST > > > > ticket, and immediately after throws this exception: > > > > > > > > > > > > 13:16:42,183 ERROR [sso.cas.CASFilter] > > > > java.lang.IllegalArgumentException: Attribute [ > > > > edu.yale.its.tp.cas.client.filter.receipt] is not serializable > > > > java.lang.IllegalArgumentException : Attribute [ > > > > edu.yale.its.tp.cas.client.filter.receipt] is not serializable > > > > at org.apache.catalina.cluster > > > > .session.DeltaSession.setAttribute(DeltaSession.java:1247) > > > > at org.apache.catalina.cluster.session.DeltaSession.setAttribute > > > > (DeltaSession.java:1225) > > > > at org.apache.catalina.cluster.session.DeltaSessionFacade > > > > .setAttribute(DeltaSessionFacade.java:131) > > > > at edu.yale.its.tp.cas.client.filter.CASFilter.doFilter( > > > > CASFilter.java :391) > > > > at com.liferay.portal.servlet.filters.sso.cas.CASFilter > > > > .doFilter(CASFilter.java:93) > > > > at org.apache.catalina.core.ApplicationFilterChain > > > > .internalDoFilter(ApplicationFilterChain.java :215) > > > > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > > > > ApplicationFilterChain.java:188) > > > > at com.liferay.portal.servlet.filters.virtualhost.VirtualHos > > > > tFilter.doFilter(VirtualHostFilter.java :136) > > > > at org.apache.catalina.core.ApplicationFilterChain > > > > .internalDoFilter(ApplicationFilterChain.java:215) > > > > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > > > > ApplicationFilterChain.java :188) > > > > at org.apache.catalina.core.StandardWrapperValve.invoke( > > > > StandardWrapperValve.java:210) > > > > at org.apache.catalina.core.StandardContextValve.invoke( > > > > StandardContextValve.java:174) > > > > at org.apache.catalina.authenticat > > > > or.AuthenticatorBase.invoke(AuthenticatorBase.java:433) > > > > at org.apache.catalina.core.StandardHostValve.invoke( > > > > StandardHostValve.java:127) > > > > at org.apache.catalina.cluster.tcp.ReplicationValve.invoke( > > > > ReplicationValve.java:347) > > > > at org.apache.catalina.valves.ErrorReportValve.invoke( > > > > ErrorReportValve.java:117) > > > > at org.apache.catalina.core .StandardEngineValve.invoke ( > > > > StandardEngineValve.java:108) > > > > at org.apache.catalina.connector.CoyoteAdapter.service( > > > > CoyoteAdapter.java:151) > > > > at org.apache.jk.server.JkCoyoteHandler.invoke( > > > > JkCoyoteHandler.java:200) > > > > at org.apache.jk.common.HandlerRequest.invoke( > > > > HandlerRequest.java:283) > > > > at org.apache.jk.common.ChannelSocket.invoke( > > > > ChannelSocket.java:773) > > > > at org.apache.jk.common.ChannelSoc ket.processConnection ( > > > > ChannelSocket.java:703) > > > > at org.apache.jk.common.ChannelSoc > > > > ket$SocketConnection.runIt(ChannelSocket.java:895) > > > > at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run > > > > (ThreadPool.java :685) > > > > at java.lang.Thread.run(Thread.java:619) > > > > > > > > > > > > Any idea? > > > > -- > > > > Claudio Tassini > > > > > > > > _______________________________________________ > > > > Yale CAS mailing list > > > > [email protected] > > > > http://tp.its.yale.edu/mailman<http://tp.its.yale.edu/mailman/listinfo/cas> > > > > /listinfo/cas <http://tp.its.yale.edu/mailman/listinfo/cas> > > > > > > > > > > > > > > > > > -- > > > -Scott Battaglia > > > > > > LinkedIn: > > > http://www.linkedin.com/in<http://www.linkedin.com/in/scottbattaglia>/scottbattaglia > > > <http://www.linkedin.com/in/scottbattaglia> > > > _______________________________________________ > > > Yale CAS mailing list > > > [email protected] > > > http://tp.its.yale.edu/mailman<http://tp.its.yale.edu/mailman/listinfo/cas> > > > /listinfo/cas <http://tp.its.yale.edu/mailman/listinfo/cas> > > > > > > > > > > > > -- > > Claudio Tassini > > > > _______________________________________________ > > Yale CAS mailing list > > [email protected] > > http://tp.its.yale.edu/mailman<http://tp.its.yale.edu/mailman/listinfo/cas> > > /listinfo/cas <http://tp.its.yale.edu/mailman/listinfo/cas> > > > > > > _______________________________________________ > Yale CAS mailing list > [email protected] > http://tp.its.yale.edu/mailman<http://tp.its.yale.edu/mailman/listinfo/cas> > /listinfo/cas <http://tp.its.yale.edu/mailman/listinfo/cas> > > -- Claudio Tassini
_______________________________________________ Yale CAS mailing list [email protected] http://tp.its.yale.edu/mailman/listinfo/cas
