CAS 5.3.x 初体验 — 官方Demo Server部署

一、Server端搭建

1.template下载

下载CAS 模板 Overlay Template,我这里使用 Apereo CAS 5.3.x 版本,JDK需要1.8+

地址:https://github.com/apereo/cas-overlay-template/tree/5.3

解压下载的zip压缩包

2.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的脚本,就不需要再按照大量网上教程去命令行手动进行创建。

证书信息可在脚本顶部 DNAME 和 CERT_SUBJ_ALT_NAMES 两个变量中进行定义:

@if "%DNAME%" == "" set DNAME=CN=cas.example.org,OU=Example,OU=Org,C=US

@if "%CERT_SUBJ_ALT_NAMES%" == "" set CERT_SUBJ_ALT_NAMES=dns:example.org,dns:localhost,dns:%COMPUTERNAME%,ip:127.0.0.1

在项目目录执行代码:

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。因为仅做演示,可以不进行此操作。

3.其他配置

修改cas-overlay-template-5.3\etc\cas\config目录下的cas.properties配置文件。

4.项目运行

项目运行通常采取 build.cmd run 或者 build.cmd bootrun 命令。
这里,我们采用调试命令

build.cmd debug

将默认开启5000调试端口,方便远程调试。
命令执行后,可以看到项目目录下生产了build及target文件夹。

target\cas\WEB-INF\classes目录下:

  • services 文件夹存放了以正则方式注册的json service(RegexRegisteredService)
  • application.properties 文件包含项目大量配置,包含默认的用户名密码信息

项目启动后,访问 https://localhost:8443/cas/login

默认用户登录:
casuser
Mellon

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,859评论 18 139
  • 【环境说明】: 本文演示过程在同一个机器上的(也可以在三台实体机器或者三个的虚拟机上),环境如下: windows...
    yljava阅读 9,327评论 3 8
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,977评论 25 708
  • 【环境说明】:本文演示过程在同一个机器上的(也可以在三台实体机器或者三个的虚拟机上),环境如下: windows7...
    黄海佳阅读 8,818评论 2 15
  • 五岁的夏至,我说我喜欢蒲公英,你在小镇路边摘了许多,高兴来找我。可是你跑得太快,蒲公英拿到我面前时已经光秃...
    苏北宁Sunshine阅读 668评论 0 0