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