CAS 集成LDAP
接下来我们配置 CAS 与本地的LDAP 服务进行集成。
环境介绍
CAS 6.4.0 (小版本之间差异也很大)
CentOS 7.5
JDK 11
Tomcat 9.0
参考
重新构建CAS Server War
在 cas-overlay-template 项目中添加下面的依赖文件。
这是 引入了 LDAP 的support,执行 gradle clean build
重新构建,cas.war 包。
生成CAS encryption and signing keys
进入到 cas-overlay-template 项目目录下,执行下面的命令,就可以构建一个本地的cas shell 终端了。
敲击 电脑的 tab 键,可以提示命令。
输入help [COMMAND]
可以显示命令帮助。
也可以参考 https://apereo.github.io/2017/10/30/intro-cas-cli-shell/
然后分别生成下面的四个参数。
如果 不会生成也没有关系,后面cas 启动的过程中,能够看到相应的日志,将自动生成的key 拷贝出来,添加到配置文件中,再重新启动也可以。
启动CAS 时候,注意观察 启动日志,会发现有下面这样的WARN 提醒。
如果提前配置好了这些key,或者将日志中的key 复制添加到配置文件中并重新启动CAS之后,这时的日志输出是。
更新CMS Server 配置
以上三条可以供参考学习。
最重要 https://apereo.github.io/cas/development/authentication/LDAP-Authentication.html#ldap-authentication
提醒: 这里笔者试了很长一段时间,在网上google了很多的资料,即便是借鉴了其他的成功案例,依然一直出错。直到最后认真查看了最新版本的帮助文档,仔细尝试了一下,才真正的实验成功。这里有一个小小的忠告,CAS的帮助文档,即便是一个小版本的变化,差异也非常大。例如这里部署的是CAS 6.4.0. 我看了 6.3.x 系列的帮助文档,一直出错,并且帮助文档写的不明不白。
编辑 /etc/cas/config/cas.properties
文件,添加如下的配置。
重新启动 CAS,然后就可以在 http://10.0.41.74:8090/cas/login
使用ldap用户去登录啦。
单点登录 单点注销
关于 单点登录,与单点注销 这里我们是通过 CAS Management 这个服务来进行的配置。
首先新增一个gitlab 服务,将gitlab服务注册到cas server 中。因为我们前面的配置只是设置了gitlab 通过CAS 来登录,还没有实现SSO的目的。
添加退出URL.
Last updated