CAS单点登录系统实操指南

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CAS单点登录系统实操指南

CAS单点登录系统实操指南 (1)

1. CAS单点登录介绍 (3)

1.1. 什么是单点登录 (3)

1.2. 什么是CAS (3)

2. CAS服务端部署及配置 (5)

2.1. 基础部署配置 (5)

2.2. 去除https认证 (7)

2.3. 登录数据源设置 (8)

2.3.1 密码未加密处理 (8)

2.3.2 密码MD5加密配置 (9)

2.4. 登录页面的极简改造 (10)

3. CAS客户端搭建 (11)

3.1. 搭建工程并添加依赖 (11)

3.2. 单点登录配置 (12)

3.3. 单点登出配置 (14)

3.3.1 未重定向登出 (14)

3.3.2 重定向地址登出 (15)

3.4. 获取登录用户信息配置 (15)

4. CAS客户端与SpringSecurity集成 (16)

4.1. 搭建工程并添加依赖 (16)

4.2. 修改和创建配置文件 (18)

4.3. 创建Spring-security认证脚本 (22)

4.4. 获取登录名 (22)

1. CAS单点登录介绍

1.1. 什么是单点登录

单点登录(Single Sign On),简称为SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

我们目前的系统存在诸多子系统,而这些子系统是分别部署在不同的服务器中,那么使用传统方式的session是无法解决的,我们需要使用相关的单点登录技术来解决。

1.2. 什么是CAS

CAS 是Yale 大学发起的一个开源项目,旨在为Web 应用系统提供一种可靠的单点登录方法,CAS 在2004 年12 月正式成为JA-SIG 的一个项目。CAS 具有以下特点:

【1】开源的企业级单点登录解决方案。

【2】CAS Server 为需要独立部署的Web 应用。

【3】CAS Client 支持非常多的客户端(这里指单点登录系统中的各个Web 应用),包括Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等。

从结构上看,CAS 包含两个部分:CAS Server 和CAS Client。CAS Server 需要独立部署,主要负责对用户的认证工作;CAS Client 负责处理对客户端受保护资源的访问请求,需要登录时,重定向到CAS Server。下图是CAS 最基本的协议过程:

SSO单点登录访问流程主要有以下步骤:

1. 访问服务:SSO客户端发送请求访问应用系统提供的服务资源。

2. 定向认证:SSO客户端会重定向用户请求到SSO服务器。

3. 用户认证:用户身份认证。

4. 发放票据:SSO服务器会产生一个随机的Service Ticket。

5. 验证票据:SSO服务器验证票据Service Ticket的合法性,验证通过后,允许

客户端访问服务。

6. 传输用户信息:SSO服务器验证票据通过后,传输用户认证结果信息给客户端。

2. CAS服务端部署及配置

本文采用版本为CAS.5.3,Tomcat.8.5.23,mysql8.0+。

2.1. 基础部署配置

第一步:下载官方提供的CAS部署工程和对应版本Tomcat。解压后的CAS 工程目录列表如下:

第二步:双击build.sh运行程序,会自动开始构建war包,构建完成后会在同级目录出现target文件夹,进入文件夹目录如下:

第三步:将cas.war包拷贝到tomcat目录/webapps/目录下,启动tomcat (注意端口是否被占用),cas.war将会被自动解压。出现下图所示,表示启动成功。

第四步:浏览器输入地址:localhost:9001/cas/login,会弹出登录界面。

第五步:输入初始用户名和密码:casuser/Mellon,登录成功,表示基础部署完成。

注:如果要修改登录密码,进入tomcat目录webapps\cas\WEB-INF\classes 下,修改application.properties文件中的ers字段值,如下:

2.2. 去除https认证

CAS默认使用的是HTTPS协议,如果使用HTTPS协议需要SSL安全证书(需向特定的机构申请和购买)。如果对安全要求不高或是在开发测试阶段,可使用HTTP协议。这里通过修改配置,让CAS使用HTTP协议。

第一步:修改webapps\cas\WEB-INF\classes\application.properties文件,在最后添加如下语句:

第二步:修改webapps\cas\WEB-INF\classes\services\HTTPSandIMAPS-10000001.json文件,添加http协议访问。

注:如果客户端没有经过https认证对CAS服务端进行访问,将会出现未认证授权的服务的界面提示。

2.3. 登录数据源设置

2.3.1 密码未加密处理

第一步:新建数据库userdb,建立用户登录的数据库表tb_user,并添加字段username,password。插入一条数据,如用户名密码为:demo:123456。

第二步:修改cas工程目录pom.xml文件,添加如下依赖。

第三步:进入cas工程目录,使用命令行,先执行清除命令,再执行安装命令。

第三步:将构建完成target目录下的cas.war文件拷贝到tomcat目录下,运行tomcat,解压war包。

第四步:修改tomcat目录下的webapps\cas\WEB-

INF\classes\application.properties文件,注释掉用户名密码登录的

相关文档
最新文档