CAS SSO & SLO
在前面我们介绍了CAS Server 以及CAS Management。还介绍了CAS 结合LDAP来进行验证。
众所周知,CAS 本身是一个SSO 与 SLO 框架,接下来我们就来记录一下如何使用CAS 来实现SSO 和 SLO.
环境介绍
前面的介绍中,我们已经实现了gitlab 集成CAS+ LDAP 来实现登录验证,接下来我们还是采用gitlab,再加上WordPress 的方式实现和模拟SSO 以及SLO。
整体的方案如下图所示。

在之前的文章中,我们介绍CAS 都是使用的目前的最新版本 6.4.0。截止笔者整理这篇教程的时候,CAS 6.4.0 还未正式发布。也正式因为如此,在实验过程遇到了很多无法解决的问题,查遍全网也没有找到原因以及对应的解决方案。
因此,我们将CAS 的版本降低,来满足我们的实验要求。CAS应该降低到哪一个版本,这里也没有很好的依据。最终是根据Wordpress 的CAS 插件支持的最高版本决定了。
因此最终的 实验环境如下
WP-cassify (WordPress 的CAS插件。截止实验时,这个插件最高支持CAS 5.3.x,因此我们的CAS也选择在5.3.x)
CAS 5.3.x
Gitlab CE 13.8.2
openldap-2.4.44-20.el7.x86_64
JDK 8
安装包的准备
由于 CAS 的版本降低到了 5.3.x。 所以需要重新构建cas.war,以及cas-management.war。
cas
clone 下来 cas-overlay-template。 参照之前的介绍修改cas.properties 和 maven 的配置。
在pom.xml 中添加如下的依赖。这些依赖在使用过程中,都需要用到。
然后构建出来 cas.war 文件。
cas-management
clone 下来 cas-management-overlay 项目。参照之前的介绍修改 management.properties 和maven 配置。
然后构建出来 cas-management.war 文件。
HTTPS
CAS 框架作为一个认证登录框架,安全是首位重要的。在实验过程中,可以使用http来进行。我们这里配置一下 HTTPS .
.
生成证书
生成证书的时候,需要注意要使用域名进行生成,使用ip生成的话,会有问题。
启用生成的这个证书
更新配置
CAS
CAS 5.3.x 版本的配置,与 后来版本的配置有着巨大的差异。这里将所有的配置罗列下来,以备参考。
CAS Management
更新一下 cas-management的配置
CAS Service
将 CAS Management, WordPress , Gitlab的服务注册到 CAS 中。本次实验采用 JSON 存储,手动配置的方式来注册这些服务。
CasManagement-10000003.json
Gitlab-10000004.json
Wordpress-10000005.json
NOTE:在后面服务正常启动后,可以在 /etc/cas/services-repo 目录下,看到这些服务被以json文件的形式存储在磁盘上。
WordPress
Wordpress 中关于CAS 的配置是基于 WP Cassify 插件来的。可以查看下面的一个截图。

gitlab
gitlab 的配置与之前没有什么大的不同。依然贴在下面供参考。
上面说的这些 配置都更新好以后,就可以进行 SSO & SLO 测试了。
Actuator 界面
CAS 框架本身提供了 可以用于管理SSO Session 以及 查看 服务运行状态的接口。 在前面的配置中已经涵盖了,这里我们主要是贴一下截截图,仅供参考。

参考
提升
Service 注册尽量采用DB 来存储
管理界面要加上权限验证
集群部署
tomcat session 高可用
Last updated
Was this helpful?