Hi Thomas, Scott,

We have implemented the same functionality, where a single CAS client is able 
to handle requests from multiple URLs for same application. Moreover we can 
also configure multiple (or same) CAS servers for each URL. See the attached 
pictorial representation of the same.

To implement this functionality, we just modified the way CAS client 
configurations are loaded. Instead of init params, we are keeping all the 
configurations in the properties file and load all the configurations on the 
application start up, so that we don’t have to load it again and again.

In the properties file we define configurations per URL (see example 
configuration below), and whenever a request is received, we retrieve the 
incoming URL from request and use the settings defined for that URL. For 
passing the configurations to CAS Client , we have extended the 
AuthenticationFilter.

EXTERNAL-APP.abc.com.LOGIN.URL=https://external-cas.abc.com/cas/login
EXTERNAL-APP.abc.com.LOGOUT.URL=https://external-cas.abc.com/cas/logout
EXTERNAL-APP.abc.com.SERVER.URL=http://EXTERNAL-APP.abc.com
EXTERNAL-APP.abc.com.URL.PREFIX=https://external-cas.abc.com/cas

INTERNAL-APP.abc.com.LOGIN.URL=https://internal-cas.abc.com/cas/login
INTERNAL-APP.abc.com.LOGOUT.URL=https://internal-cas.abc.com/cas/logout
INTERNAL-APP.abc.com.SERVER.URL=http://INTERNAL-APP.abc.com
INTERNAL-APP.abc.com.CAS.SERVER.URL.PREFIX=https://internal-cas.abc.com/cas


I hope this helps.

Best Regards,
Vivek

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

<<attachment: CAS Client to handle Multiple URLs.JPG>>

Reply via email to