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之后,这时的日志输出是。

正确配置key的日志输出

更新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的目的。

添加gitlab服务

添加退出URL.

添加退出URL

Last updated

Was this helpful?