1.下载代码
https://github.com/apereo/cas-overlay-template/tree/5.3
2.解压
cas-overlay-template-5.3.zip
3.keystore配置
如果不对keystore进行配置,项目启动将抛出找不到证书文件的异常,无法正常启动。
打开项目目录build.cmd (Linux 为build.sh),可以看到有如下代码
:gencert
where /q keytool
if ERRORLEVEL 1 (
@echo Java keytool.exe not found in path.
exit /b 1
) else (
if not exist %CAS_DIR% mkdir %CAS_DIR%
@echo on
@echo Generating self-signed SSL cert for %DNAME% in %CAS_DIR%\thekeystore
keytool -genkeypair -alias cas -keyalg RSA -keypass changeit -storepass changeit -keystore %CAS_DIR%\thekeystore -dname %DNAME% -ext SAN=%CERT_SUBJ_ALT_NAMES%
@echo Exporting cert for use in trust store (used by cas clients)
keytool -exportcert -alias cas -storepass changeit -keystore %CAS_DIR%\thekeystore -file %CAS_DIR%\cas.cer
)
@goto:eof
可以看到,在template的build工具中已经为我们提供了生成keystore的脚本,就不需要再按照大量网上教程去命令行手动进行创建。
在项目目录执行代码:
build.cmd gencert
如下图:
就生成了证书文件。
需要注意的是:
(1) 由于配置的项目路径CAS_DIR是 \etc\cas,在Windows环境下,会将证书文件生成到当前盘符目录的对应文
件夹下。如项目文件在F盘某个目录,那么文件会生成到F:\etc\cas目录下。
(2) 生成证书的时候,会出现warning:JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -
srckeystore \etc\cas\thekeystore -destkeystore \etc\cas\thekeystore -deststoretype pkcs12"
迁移到行业标准格式 PKCS12。因为仅做演示,可以不进行此操作。
4.打包
./build.cmd package
5.项目启动
./build.cmd run
6.修改hosts文件
修改电脑C:\WINDOWS\system32\drivers\etc\hosts文件,增加下面内容
127.0.0.1 cas.example.org
因为etc\cas\config\cas.properties文件配置的是https://cas.example.org:8443
如下图
项目启动后,访问 https://cas.example.org:8443/cas/login
默认用户登录:
casuser
Mellon
target\cas\WEB-INF\classes目录下:
- services 文件夹存放了以正则方式注册的json service(RegexRegisteredService)
- application.properties 文件包含项目大量配置,包含默认的用户名密码信息