上一篇文章我们对Apereo CAS有了简要的了解,这篇文章我们将动手练习Apereo CAS。主要是CAS单机版的搭设,用户信息存储到数据库,以及dashboard的使用
做这些尝试的时候,Apereo CAS比较稳定的版本是5.3.x,使用如果想按照这个文章搭设的话,最好采用相同的版本
Apereo CAS单机版的搭设
Apereo CAS秉承耶鲁的自由文化传统,整个产品高度自由化,哪哪都提供了极其灵活的使用方式。比如单机版的部署,一般的软件提供的单机版都是下载一来,运行某个文件就直接开跑的。Apereo就不同,即使是单机版,也要配置一些内容才可以运行的。
不单单是配置,单机版的代码实现也是可以改的,而且还可以很优雅地改,就是可以在不修改原来代码的前提下进行修改。Apereo CAS采用了Maven的overlayer 特性,提供了一份CAS的overlayer或者叫template,我们可以从下载一份layer ,然后在里面按照约定的方式,实现功能覆盖Apereo CAS提供的类,或者配置文件。
git clone https://github.com/apereo/cas-overlay-template
这是Apereo CAS官方提供的一个overlay,大家也可以下载使用其他组织提供的overlay。该项目的目录结构如下:
C:\githome\github\cas\cas-server>ls -l
total 1220
-rw-r--r-- 1 NOTECH 1049089 11560 Jan 25 14:25 LICENSE.txt
-rw-r--r-- 1 NOTECH 1049089 2768 Jan 25 14:28 README.md
-rw-r--r-- 1 NOTECH 1049089 4353 Jan 25 14:28 build.cmd
-rwxr-xr-x 1 NOTECH 1049089 5608 Jan 25 14:28 build.sh
drwxr-xr-x 1 NOTECH 1049089 0 Jan 25 14:25 etc
drwxr-xr-x 1 NOTECH 1049089 0 Jan 25 14:28 maven
-rwxr-xr-x 1 NOTECH 1049089 7332 Jan 25 14:28 mvnw
-rw-r--r-- 1 NOTECH 1049089 5839 Jan 25 14:28 mvnw.bat
-rw-r--r-- 1 NOTECH 1049089 9458 Jan 28 10:15 pom.xml
drwxr-xr-x 1 NOTECH 1049089 0 Jan 25 14:31 src
其实就是一个简单的maven项目,多了一个etc的目录,然后pom文件里面有一个cas-server-webapp的overlayer依赖。这时我们可以直接跑mvn package, 一样会生成相应的cas包,只是这个包跑不起来,因为cas需要一些配置才能起来的。
前面说了overlayer会按照目录路径进行覆盖,也就是如果overlayer的项目里面有文件路径相同,那么打包的时候就会进行覆盖。而上一篇blog说了,Apereo CAS是基于springboot的开发的,那么我们要覆盖对应的配置文件&