欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

基于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/classesas.authn.accept.users找到。访问https://cas.example.org:8443/cas/login,输入用户名和密码即可登录成功。如下所示:
基于CAS的单点登录SSO[1]: 搭建CAS单点登录demo

参考资料: