CAS Service Management
CAS Service management 是 CAS 单独独立出来的一款应用。用来管理哪些服务能够接入到CAS中。
参考
CAS management 项目地址 https://github.com/apereo/cas-management CAS management overlay 项目地址 https://github.com/apereo/cas-management-overlay
下载 cas management overlay template
下载 cas management overlay template 项目。
通过 查看代码配置发现,内置的tomcat 版本为 9.0 为了保持一致,我们也下载 9.0 版本的tomcat。
构建CAS Management war
编辑gradle.properties 文件,修改
casmgmt.version=6.3.0
因为已经没有snapshot版本了手动指定 gradle 的java home,在gradle.properties 文件中添加下面一行。
org.gradle.java.home=/usr/lib/jdk-11.0.10
指定本地的gradle,避免每次都下载,在gradle-wrapper.properties 文件中,修改下面一行。
distributionUrl=file:///mnt/d/download/gradle-6.8.3-bin.zip
执行 build.sh package 就可以构建出cas-management.war 了。
修改配置
修改项目目录下 的/etc/cas/config/management.properties
如果与CAS Server 部署在同一台机器上,其中 的cas 的路径 以及 server.port
需要格外注意,避免引起端口冲突。
将 /etc/cas/config/ 目录下的内容,拷贝到系统的 同目录下。
部署 CAS Management War
在服务器上执行 下面的命令,就可以启动 CAS Management 服务了。
nohup java -Xdebug -Xrunjdwp:transport=dt_socket,address=5001,server=y,suspend=n -jar cas-management.war > cas-management.log 2>&1 &
将CAS Management 服务注册到 CAS Server上
CAS Server 是用来为集成进来的服务提供 SSO 登录服务的。
CAS Management 是用来管理哪些服务可以通过CAS Server 单点登录。
那这样来看的话,CAS Management 也可以是一个需要通过CAS Server来单点登录的服务。
所以,接下来,我们将 CAS Management 注册到 CAS Server 上。
参考文档 json-syntax
在前面的CAS Server 安装过程中,我们指定了一个配置cas.service-registry.core.init-from-json=true
,这个配置的含义是CAS Server 在启动的时候,从json 配置文件中加载注册的服务。 注意: 通过json这种来存储注册服务方式仅限于演示环境,正式环境需要采用数据库来存储。
进入到 /etc/cas/service
目录下,添加下面的文件,注意 文件的名称有详细的规则,可以参考前面给出的文档。
这是用正则表达式,配置的一个服务注册。
重新启动cas,通过查看日志就可以发现,已经有1个服务被加载进来了。
登录 CAS Management
在浏览器中输入 http://10.0.41.74:8091/cas-management
,这时,由于 CAS Management 处于未登录状态,会自动跳转到 CAS Server 的集成登录界面,仔细观察这时浏览器的地址是 http://10.0.41.74:8090/cas/login?service=http://10.0.41.74:8091/cas-management/
。 这也意味着,虽然登录是在CAS server 端,登录成功之后,就会跳转到CAS Management 端。
使用 casuser Mellon 登录成功后,会自动跳转回 CAS management 的管理首页。
Last updated