David,

You'd have to implement a Ticket Registry that persists them (we have a
BerkleyDb example in CAS).  However, if you are using the distributed JBoss
Cache implementation, if you take one down and bring it back up I would
think (in theory) that it should receive all of the information.  If you
take them all down at the same time, well.... :-)

-Scott

On 9/7/07, David Pham <[EMAIL PROTECTED]> wrote:
>
> Thanks for the input Scott.
>
> Additionally this question is somewhat related to session replication.
> Is there also a way to set up persistent storage for the ticket granting
> cookies?  My understanding is that CAS stores the tickets in-memory but with
> the experiment I'm doing, I will be taking CASes online and offline at timed
> intervals and it would be ideal if I can somehow dump the ticket registry to
> a database or a flatfile.
>
> Regards, David
>
> On 9/6/07, Scott Battaglia <[EMAIL PROTECTED]> wrote:
> >
> > On 9/6/07, David Pham <[EMAIL PROTECTED]> wrote:
> > >
> > > Scott,
> > >    In regards to replicating the client-side cookies I understand that
> > > in order to make the cookie visible to all the CASes in the cluster, we 
> > > have
> > > to configure them to be on the same domain by modifying the cookieDomain
> > > property.  But what if our CASes are not in a domain?  In other words, 
> > > each
> > > of my CAS is housed on its own host computer and the domain is simply "
> > > localhost.localdomain" where the hosts know of each other because they
> > > belong to the same private network.
> >
> >
> > There should be some domain that points to both of those servers (how
> > else would your users access CAS as a single "service"?).  That domain
> > should be what is set.
> >
> > -Scott
> >
> > Regards, David
> > >
> > > On 8/29/07, Scott Battaglia <[EMAIL PROTECTED]> wrote:
> > > >
> > > > Guys--
> > > >
> > > > Depending on how you configure CAS, various items can be replicated.
> > > >
> > > > If you use a Distributed Ticket Registry, such as JBossCache (or any
> > > > custom one such as a JDBC), the Ticket Granting Tickets and Service 
> > > > Tickets
> > > > are replicated amongst the CAS servers.  Their updated state should 
> > > > also be
> > > > replicated amongst CAS servers the instant (well conceptually, the 
> > > > instant)
> > > > they are modified.
> > > >
> > > > If you've configured Tomcat (or your container) for session
> > > > replication, then the Tomcat sessions should be replicated.  Tomcat 
> > > > sessions
> > > > only contain information relevant to the initial Spring Web Flow login
> > > > process (if you don't replicate Tomcat sessions then you need to use 
> > > > sticky
> > > > sessions or modify the Web Flow configuration to use client side 
> > > > storage).
> > > >
> > > > Client Side information is still maintained within the browser.  The
> > > > cookie that holds the Ticket Granting Ticket ID should be sent to 
> > > > either CAS
> > > > server, assuming the domain/path information is specified correctly (and
> > > > since the registry is duplicated, all tickets should be accessible).  
> > > > The
> > > > same thing can be said for the "warn" cookie.
> > > >
> > > > -Scott
> > > >
> > > > On 8/29/07, Andrew R Feller < [EMAIL PROTECTED]> wrote:
> > > >
> > > > >  Andrew,
> > > > >
> > > > >
> > > > >
> > > > > Yes, I believe we are saying the same thing.  The distinction I
> > > > > was trying to bring up was client-side cookies stored in your web 
> > > > > browser
> > > > > versus server-side sessions.  There is no way, I am aware of, to 
> > > > > replicate
> > > > > client-side cookies on a user's web browser.  I know the ticket 
> > > > > granting
> > > > > ticket's cookie should be scoped a specific domain/subdomain that 
> > > > > only the
> > > > > CAS servers can see and thus available to all of them.
> > > > >
> > > > >
> > > > >
> > > > > Thanks,
> > > > >
> > > > > Andy
> > > > >
> > > > >
> > > > >
> > > > > Andrew R Feller, Analyst
> > > > >
> > > > > Subversion Administrator
> > > > >
> > > > > University Information Systems
> > > > >
> > > > > Louisiana State University
> > > > >
> > > > > [EMAIL PROTECTED]
> > > > >
> > > > > (office) 225.578.3737
> > > > >   ------------------------------
> > > > >
> > > > > *From:* [EMAIL PROTECTED] [mailto:
> > > > > [EMAIL PROTECTED] *On Behalf Of *Andrew Petro
> > > > > *Sent:* Tuesday, August 28, 2007 6:47 PM
> > > > > *To:* Yale CAS mailing list
> > > > > *Subject:* what is replicated in CAS clustering
> > > > >
> > > > >
> > > > >
> > > > > Andrew,
> > > > >
> > > > > > client-side cookies are not replicated;
> > > > > > only Tomcat's session data and ticket registries are.
> > > > >
> > > > > I'm not sure I understand the distinction.
> > > > >
> > > > > To the extent that CAS uses session cookies, these will be
> > > > > applicable across clustered CAS server instances in the case where a
> > > > > fronting load balancer makes them all appear to the browser to be the 
> > > > > same
> > > > > hostname.  Session data will be as you say can be replicated across 
> > > > > the
> > > > > cluster via Tomcat session replication.  What makes a jsessionid 
> > > > > cookie
> > > > > interesting is that it keys into that server-side session data, which 
> > > > > so
> > > > > long as it is exclusively composed of serializable [1] objects can be
> > > > > clustered across the Tomcats.
> > > > >
> > > > > The ticket granting cookie is valid by virtue of its bearing a
> > > > > valid "Ticket Granting Ticket".  Ticket granting tickets are stored 
> > > > > in the
> > > > > ticket registry, and so clustering of the ticket registry accomplishes
> > > > > making a ticket granting cookie applicable across the cluster.
> > > > >
> > > > > User preference cookies (e.g. indicating the preference not to be
> > > > > transparently signed on) are not dependent on server-side state, so 
> > > > > there's
> > > > > nothing to cluster.  I'm not sure what it would mean to replicate 
> > > > > these
> > > > > cookies, but in any case they should work the same across clustered 
> > > > > CAS
> > > > > nodes.
> > > > >
> > > > > Are we agreeing in all details and just saying the same thing
> > > > > differently, or have I missed something here?
> > > > >
> > > > > Andrew
> > > > >
> > > > >
> > > > >
> > > > > [1] sort of
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > 2)  Within a cluster of CAS servers, how often does the ticket
> > > > > data get replicated? If one peer server goes offline then online, 
> > > > > does the
> > > > > session data (as well as the ticket data) get replicated immediately 
> > > > > or is
> > > > > there an interval at which this happens?   I am assuming there must 
> > > > > be some
> > > > > handshaking process between the new server and existing servers thus
> > > > > allowing the new server to sync up with the cluster.
> > > > >
> > > > > * *
> > > > >
> > > > > *[Andrew R Feller] *
> > > > >
> > > > > *In the scenario of one node dropping from the cluster and
> > > > > reappearing, the JBoss Cache will re-establish its ticket registry 
> > > > > whenever
> > > > > it successfully joins the cluster; there is no "waiting time".  
> > > > > Cluster
> > > > > membership discovery can either be multicast or unicast depending 
> > > > > upon your
> > > > > networking situation.  As far as frequency of ticket replication, 
> > > > > that is a
> > > > > function of both JBoss Cache and Tomcat session replication.  
> > > > > However, I
> > > > > believe Claudio is mistaken in that client-side cookies are 
> > > > > notreplicated; only Tomcat's session data and ticket registries are.
> > > > > *
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > 2)  Within a cluster of CAS servers, how often does the ticket
> > > > > data get replicated? If one peer server goes offline then online, 
> > > > > does the
> > > > > session data (as well as the ticket data) get replicated immediately 
> > > > > or is
> > > > > there an interval at which this happens?   I am assuming there must 
> > > > > be some
> > > > > handshaking process between the new server and existing servers thus
> > > > > allowing the new server to sync up with the cluster.
> > > > >
> > > > >
> > > > >
> > > > > The ticket replication is managed through two different
> > > > > mechanisms: client-side cookies are replicated using the cluster 
> > > > > feature of
> > > > > the application server (tomcat), while the cas ticket registry is 
> > > > > replicated
> > > > > among the cluster nodes using some other "pluggable" method. The 
> > > > > document
> > > > > you read explains how to set up this through the jboss-cache 
> > > > > libraries. In
> > > > > both cases, the syncronization method can be configured, but for cas 
> > > > > cluster
> > > > > to work properly it should be set in syncronous mode, which means 
> > > > > that data
> > > > > is replicated between the nodes each time it's modified.
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > _______________________________________________
> > > > > Yale CAS mailing list
> > > > > cas@tp.its.yale.edu
> > > > > http://tp.its.yale.edu/mailman/listinfo/cas
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > -Scott Battaglia
> > > >
> > > > LinkedIn: http://www.linkedin.com/in/scottbattaglia
> > > > _______________________________________________
> > > > Yale CAS mailing list
> > > > cas@tp.its.yale.edu
> > > >  http://tp.its.yale.edu/mailman/listinfo/cas
> > > >
> > > >
> > >
> > > _______________________________________________
> > > Yale CAS mailing list
> > > cas@tp.its.yale.edu
> > > http://tp.its.yale.edu/mailman/listinfo/cas
> > >
> > >
> >
> >
> > --
> > -Scott Battaglia
> >
> > LinkedIn: http://www.linkedin.com/in/scottbattaglia
> >
> > _______________________________________________
> > Yale CAS mailing list
> > cas@tp.its.yale.edu
> > http://tp.its.yale.edu/mailman/listinfo/cas
> >
> >
>
> _______________________________________________
> Yale CAS mailing list
> cas@tp.its.yale.edu
> http://tp.its.yale.edu/mailman/listinfo/cas
>
>


-- 
-Scott Battaglia

LinkedIn: http://www.linkedin.com/in/scottbattaglia
_______________________________________________
Yale CAS mailing list
cas@tp.its.yale.edu
http://tp.its.yale.edu/mailman/listinfo/cas

Reply via email to