I discovered what was causing the issue I described previously.  I had the long 
term / remember me authentication enabled, and that caused objects of the class 
Authentication to be non serializable.

I changed the objects in TicketGrantingTicketImpl.java to transient one at a 
time to figure out the base problem was in objects of type Authentication.  
Then I actually had an intuitive leap that the issue was the long term / 
remember authentication I had enabled.  I removed it, and then ehcache 
replicated with JGroups.  I didn't dive into the code deep enough to say 
exactly what caused the problem.

If I have time I'll try to trace the exact problem and let you know.  For now, 
just note that as of RC3 of CAS4 replicated ehcache using JGroups for 
communication does not work with long term / remember authentication enabled.

Thanks,
Nancy
---------------------------------------------------------------------------
2014-03-12 20:06 GMT+01:00 Nancy Snoke 
<[email protected]<mailto:[email protected]>>:
Hi all,

I am testing out the CAS4-RC3 and was setting up replicated caching.  I have 
set this up in two different ways one using Ehcache with JGroups communication. 
 The other just using a JBoss Cache.  Both are using TCP for communications due 
to the servers being in different subnets.

In both cases I get a not serializable exception caused by a HashMap Keyset.

In the ehcache version the exception occurs at line 85 of 
cas<https://github.com/Jasig/cas/tree/ce14f00dacea2c90edd5a90c38750ea1f8e9f750>/cas-server-integration-ehcache<https://github.com/Jasig/cas/tree/ce14f00dacea2c90edd5a90c38750ea1f8e9f750/cas-server-integration-ehcache>/src<https://github.com/Jasig/cas/tree/ce14f00dacea2c90edd5a90c38750ea1f8e9f750/cas-server-integration-ehcache/src>
 
/main<https://github.com/Jasig/cas/tree/ce14f00dacea2c90edd5a90c38750ea1f8e9f750/cas-server-integration-ehcache/src/main>
 
/java<https://github.com/Jasig/cas/tree/ce14f00dacea2c90edd5a90c38750ea1f8e9f750/cas-server-integration-ehcache/src/main/java>
 
/org<https://github.com/Jasig/cas/tree/ce14f00dacea2c90edd5a90c38750ea1f8e9f750/cas-server-integration-ehcache/src/main/java/org>/jasig<https://github.com/Jasig/cas/tree/ce14f00dacea2c90edd5a90c38750ea1f8e9f750/cas-server-integration-ehcache/src/main/java/org/jasig>/cas<https://github.com/Jasig/cas/tree/ce14f00dacea2c90edd5a90c38750ea1f8e9f750/cas-server-integration-ehcache/src/main/java/org/jasig/cas>/ticket<https://github.com/Jasig/cas/tree/ce14f00dacea2c90edd5a90c38750ea1f8e9f750/cas-server-integration-ehcache/src/main/java/org/jasig/cas/ticket>/registry<https://github.com/Jasig/cas/tree/ce14f00dacea2c90edd5a90c38750ea1f8e9f750/cas-server-integration-ehcache/src/main/java/org/jasig/cas/ticket/registry>/EhCacheTicketRegistry.java.

In the JBoss implementation the error occurs on line 64 of 
cas<https://github.com/Jasig/cas/tree/ce14f00dacea2c90edd5a90c38750ea1f8e9f750>/cas-server-integration-jboss<https://github.com/Jasig/cas/tree/ce14f00dacea2c90edd5a90c38750ea1f8e9f750/cas-server-integration-jboss>/src<https://github.com/Jasig/cas/tree/ce14f00dacea2c90edd5a90c38750ea1f8e9f750/cas-server-integration-jboss/src>/main<https://github.com/Jasig/cas/tree/ce14f00dacea2c90edd5a90c38750ea1f8e9f750/cas-server-integration-jboss/src/main>/java<https://github.com/Jasig/cas/tree/ce14f00dacea2c90edd5a90c38750ea1f8e9f750/cas-server-integration-jboss/src/main/java>/org<https://github.com/Jasig/cas/tree/ce14f00dacea2c90edd5a90c38750ea1f8e9f750/cas-server-integration-jboss/src/main/java/org>/jasig<https://github.com/Jasig/cas/tree/ce14f00dacea2c90edd5a90c38750ea1f8e9f750/cas-server-integration-jboss/src/main/java/org/jasig>/cas<https://github.com/Jasig/cas/tree/ce14f00dacea2c90edd5a90c38750ea1f8e9f750/cas-server-integration-jboss/src/main/java/org/jasig/cas>/ticket<https://github.com/Jasig/cas/tree/ce14f00dacea2c90edd5a90c38750ea1f8e9f750/cas-server-integration-jboss/src/main/java/org/jasig/cas/ticket>/registry<https://github.com/Jasig/cas/tree/ce14f00dacea2c90edd5a90c38750ea1f8e9f750/cas-server-integration-jboss/src/main/java/org/jasig/cas/ticket/registry>/JBossCacheTicketRegistry.java.

The Ehcache version will log in correctly and just not replicate the tickets, 
whereas the JBoss version results in "Access Denied".

It looks like there is something in the ticketGrantingTicket that is not 
serializable.  I have started to dig into the code and don't mind doing so, but 
thought I verify that this wasn't a known issue or hasn't been already fixed 
for the next release before spending a lot of time.

Any thoughts or helpful comments?
Thanks,
Nancy

-- 
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-dev

Reply via email to