基于CAS的单点登录SSO[1]: 搭建CAS单点登录demo
程序员文章站
2022-05-05 16:32:31
...
基于CAS的单点登录SSO[1]: 搭建CAS单点登录demo
作者:家辉,日期:2017-08-08 CSDN博客: http://blog.csdn.net/gobitan
摘要:经过对大量第三方单点登录系统的调研,发现Apereo的CAS是做得最好的,因此,本系列文章将分析CAS。由于CAS涉及的东西较多,直接从CAS源码编译较为复杂。CAS提供了现成的部署包模板,本文以此为例快速搭建初步的CAS demo,环境适用于Mac OS或者Linux环境。
第一步:获取CAS部署包模板CAS Overlay Template
git clone https://github.com/apereo/cas-overlay-template
备注:由于官方代码在持续更新,这里我将这个版本的代码在CSDN存了一份。链接为:http://download.csdn.net/download/gobitan/9947498
在获取下来的cas-overlay-template包中,查看README.md可以找到部署方法。
CAS的版本为5.1.x,要求JDK1.8+。
注意:由于maven官方库https://mvnrepository.com/artifact/org.apereo.cas/cas-server-support-jdbc-drivers中没有5.1.3版本。为了后续扩展,需要将pom.xml中的cas.version属性由“5.1.3”改为“5.1.2”.
如下所示:
<cas.version>5.1.2</cas.version>
第二步:增加Service Registry功能
<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-json-service-registry</artifactId>
<version>${cas.version}</version>
</dependency>
注意:如果缺失这一步,后面会报错。CAS支持的协议http/https协议就是这里配置的。
第三步:配置域名
在cas-overlay-template/etc/cas/config/cas.properties中默认配置域名如下:
cas.server.name: https://cas.example.org:8443
cas.server.prefix: https://cas.example.org:8443/cas
为了能让demo运行,需要在/etc/hosts中加入如下类似配置:10.191.30.31 cas.example.org
注意:10.191.30.31为部署主机的IP地址,需要更换为您自己的。
第四步:生成服务器端HTTPS证书
cd cas-overlay-template/
chmod +x build.sh
sudo ./build.sh gencert
这一步会在/etc/cas目录下生成thekeystore和cas.cer两个文件。第五步:构建并运行CAS Server
sudo ./build.sh
No commands provided. Defaulting to [run]
第六步:登录CAS
系统内置了一个默认的测试用户名和密码,即casuser/Mellon.
该用户名可以在cas-overlay-template/target/cas/WEB-INF/classes中as.authn.accept.users找到。访问https://cas.example.org:8443/cas/login,输入用户名和密码即可登录成功。如下所示:
参考资料:
上一篇: CAS统一登录认证(13): ldap 批量导入用户
下一篇: NC集成CAS统一认证+单点登录原理