Potential new way to integrate CAS with Grouper
The context definition in server.xml for Tomcat looks like this:
- You dont need to alter anything in the Grouper UI itself, just need to make sure that the logged in user is searchable by a source.
- For Tomcat 8.0.x, change the package names to "v8" instead. (Note: Tomcat 8.5.x at this point is not supported and requires mod to the CAS client given API incompatibilities between 8.0.x and 8.5.x)
Previous way to integrate CAS with Grouper
The yale-cas-auth java jar file is included with the installation of the Grouper UI. There are a few steps we needed to implement it:
Configuration Steps to enable CAS Authentication
Add the cas authentication piece to the build.xml file in the Grouper UI home/build folder: /deploy/AppServers/grouper-ui folder:
It should go just below the following section in the build.xml file:
Implementer note: There are several -additional-build sections. Ensure you find the one that has a target with a value of "webapp".
Modify the following 3 lines in the build.properties file that is in the yale-cas-auth folder -- enter proper URLs for your organization:
Modify the struts-config.xml file to skip the login prompt by changing the callLogin path to home.do instead of login.do:
Ensure the REMOTE_USER value that is returned from CAS is configured as one of the subject identifiers in the sources.xml:
This is based on using the GrouperJdbcSourceAdapter2 source adapter type
- Ensure the grouper URL has been added to the CAS Services Registry.
From the /deploy/AppServers/grouper-ui directory, create a new war file:
Remove the grouper directory in the $TOMCAT_HOME/webapps folder:
Copy the new war file to the webapps directory (overwrite existing grouper.war file):
- Stop and restart Tomcat.
See debug information in logs in log4j.properties