<Background -- and I am sorry it is so long>
BYU currently is running the CA SiteMinder product for our homegrown 
"portal"  (eg. a group of pages tied together with a common session).  
SiteMinder evaluates its own security policy to determine whether or not 
to authenticate a user based on a URL pattern.  SiteMinder fronts 
applications via reverse proxies and an apache module.  The SiteMinder 
enabled reverse proxies send the user identity via the RemoteUser to 
applications.  SiteMinder is providing authentication, authorization 
(can I get there decisions) and session management.  Also, when I logout 
of SiteMinder, I am assumed to logout out of every application in the 
Siteminder shared session domain.  We have three application frameworks 
(c cgi, peoplesoft, java spring mvn, hibernate etc) that are working in 
this mode. 

As we move to CAS, we created a servlet filter for our java applications 
that does the following

 If (request has ticket) {
   Validate ticket and create authenticated application *session*
} else if (request does not have ticket && user does not already have 
*session*) {
   redirect to CAS login page with service ticket request
} else {
  Redirect to CAS login 
}

My management wants to continue the Siteminder global session "bubble" 
around the three frameworks using an abstraction similar to 
aforementioned filter with minimal changes to the frameworks.  However, 
I want to follow best practices and repent of sins of the past and still 
meet their needs.
<Question>
1.  What is the best practice for integrating for a global application 
session across application domains with CAS? 
Our thoughts were that it is common practice (at least in java) to 
include the CAS/app session logic in filters that can hooked into spring 
security.  PeopleSoft can use java filters so we re-cycle the java 
filter/CAS client in Peoplesoft.  C cgi, we are still working on a 
solution but I think we can front the cgi's with a Java servlet filter.
2.  Where should application session management occur in a framework or 
abstracted out completely into the network infrastructure?
We are of two minds at BYU.  One suggestion was to tweak mod_auth_CAS to 
make operate similar to our current SiteMinder/reverse proxy 
configuration.  The other suggestion is integrate CAS/session management 
into our four frameworks using filters etc.  In my mind, it doesn't seem 
like a like a good architecture to store security logic (do I need to 
authenticate logic) in apache instead of application / framework code.  
My bias is toward frameworks because we have lots of Java developers and 
maybe one apache module c developer (not meant as a slight to the 
mod_auth_cas community).  Furthermore, I can't image we want to be the 
module business.
3.  Has anyone else tried something like this?
I seems to me to be a bit insane to share sessions between cgi's, java 
and peoplesoft.  Rather mess with sessions, I think we should create the 
appearance of "global session" bubble.  All applications login in to CAS 
using filters etc.   The three frameworks logout using CAS and Single 
Signout.    The appearance of the global app session remains intact. 

Any input and a sanity check would be great.  Thanks!

tom

PS I am still tying to get the Single Signout working based on this URL 
http://www.ja-sig.org/wiki/display/CASUM/Single+Sign+Out and I am having 
trouble figuring out what I need to configure in CAS to register single 
sign out call backs.

-- 


********************************
Tom Freestone
([EMAIL PROTECTED])
Engineering
Office of Information Technology
Brigham Young University
********************************

_______________________________________________
Yale CAS mailing list
[email protected]
http://tp.its.yale.edu/mailman/listinfo/cas

Reply via email to