CAS Overlay Template ============================ Generic CAS WAR overlay to exercise the latest versions of CAS. This overlay could be freely used as a starting template for local CAS war overlays. The CAS services management overlay is available [here](https://github.com/apereo/cas-services-management-overlay). # Versions ```xml 5.3.x ``` # Requirements * JDK 1.8+ # Configuration The `etc` directory contains the configuration files and directories that need to be copied to `/etc/cas/config`. # Build To see what commands are available to the build script, run: ```bash ./build.sh help ``` To package the final web application, run: ```bash ./build.sh package ``` To update `SNAPSHOT` versions run: ```bash ./build.sh package -U ``` # Deployment - Create a keystore file `thekeystore` under `/etc/cas`. Use the password `changeit` for both the keystore and the key/certificate entries. - Ensure the keystore is loaded up with keys and certificates of the server. On a successful deployment via the following methods, CAS will be available at: * `http://cas.server.name:8080/cas` * `https://cas.server.name:8443/cas` ## Executable WAR Run the CAS web application as an executable WAR. ```bash ./build.sh run ``` ## Spring Boot Run the CAS web application as an executable WAR via Spring Boot. This is most useful during development and testing. ```bash ./build.sh bootrun ``` ### Warning! Be careful with this method of deployment. `bootRun` is not designed to work with already executable WAR artifacts such that CAS server web application. YMMV. Today, uses of this mode ONLY work when there is **NO OTHER** dependency added to the build script and the `cas-server-webapp` is the only present module. See [this issue](https://github.com/spring-projects/spring-boot/issues/8320) for more info. ## Spring Boot App Server Selection There is an app.server property in the `pom.xml` that can be used to select a spring boot application server. It defaults to `-tomcat` but `-jetty` and `-undertow` are supported. It can also be set to an empty value (nothing) if you want to deploy CAS to an external application server of your choice. ```xml -tomcat ``` ## Windows Build If you are building on windows, try `build.cmd` instead of `build.sh`. Arguments are similar but for usage, run: ``` build.cmd help ``` ## External Deploy resultant `target/cas.war` to a servlet container of choice. ## Command Line Shell Invokes the CAS Command Line Shell. For a list of commands either use no arguments or use `-h`. To enter the interactive shell use `-sh`. ```bash ./build.sh cli ``` ### Relevant Articles: - [CAS SSO With Spring Security](https://www.baeldung.com/spring-security-cas-sso)