您的位置:首页 > 其它

基于CAS的单点登录SSO[1]: 搭建CAS单点登录demo

2017-08-28 22:29 369 查看
基于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[/code] 备注:由于官方代码在持续更新,这里我将这个版本的代码在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功能
参考:https://apereo.github.io/cas/5.1.x/installation/JSON-Service-Management.html
<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[/code]为了能让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,输入用户名和密码即可登录成功。如下所示:



参考资料:
[1] https://github.com/apereo/cas-overlay-template
[2] https://apereo.github.io/cas/5.1.x/installation/Maven-Overlay-Installation.html
[3] http://maven.apache.org/plugins/maven-war-plugin/overlays.html 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息