【SSO-CAS部署】安装部署单点登录组件CAS(5.3.x版本)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 【SSO-CAS部署】安装部署单点登录组件CAS(5.3.x版本)
 SOO是现在企业比较流行的业务整合解决方案之一,定义解决登录,可以应用在不同系统中,用户只需要登录一次,就可以访问所有相互信任的应用系统(模块开发、同家公司不同产品等等),例如百度,旗下的子系统。

架构图如下:
在这里插入图片描述

一,初步安装部署

准备需要用的cas-server包并配置

  1. 从CAS官网下载:上cas的官网下载cas server 点击进入官网地址

 笔者这里选择的是5.x.x的最后一个版本5.3.x
在这里插入图片描述

  • 下载后解压导入IDEA

在这里插入图片描述

  1. 编译打包
  • 替换Maven的中央仓库
     <!--阿里云仓库-->
        <repository>
            <id>aliyunmaven</id>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        </repository>
        <!--中央仓库  比oss稍微快一点-->
        <repository>
            <id>central.maven.org</id>
            <url>http://central.maven.org/maven2/</url>
        </repository>
  1. 编译打包下载后的源码,部署到Tomcat里面

在这里插入图片描述

3,启动tomcat 成功后打开CAS默认地址:
http://localhost:8080/cas/login
在这里插入图片描述
图中箭头显示:非安全连接和静态密码

登录默认的账号密码:
账号:casuser   
密码:Mellon 

显示登录成功:
在这里插入图片描述

  • 修改默认的账号账号密码在

webapps\cas\WEB-INF\classes\application.properties 文件中:

在这里插入图片描述

初步部署成功!!!

二,动态数据库账号密码支持

  • 确认已经更改maven仓库地址(否则会很慢)
 <!--阿里云仓库-->
        <repository>
            <id>aliyunmaven</id>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        </repository>
        <!--中央仓库  比oss稍微快一点-->
        <repository>
            <id>central.maven.org</id>
            <url>http://central.maven.org/maven2/</url>
        </repository>
  • 在源码包里面添加数据库连接驱动
<!--数据库认证相关 start-->
<dependency>
    <groupId>org.apereo.cas</groupId>
    <artifactId>cas-server-support-jdbc-drivers</artifactId>
    <version>${cas.version}</version>
</dependency>
<dependency>
    <groupId>org.apereo.cas</groupId>
    <artifactId>cas-server-support-jdbc</artifactId>
    <version>${cas.version}</version>
</dependency>
                
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.46</version>
</dependency>
<!--数据库认证相关 end-->

配置登录用户数据库

  • 在webapps\cas\WEB-INF\classes\application.properties中修改配置
##
# CAS Authentication Credentials
# 注释静态密码
# cas.authn.accept.users=casuser::Mellon
# cas.authn.accept.users=admin::useradmin

# 配置数据库
cas.authn.jdbc.query[0].url=jdbc:mysql://127.0.0.1:3306/sso?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
cas.authn.jdbc.query[0].user=root
cas.authn.jdbc.query[0].password=root
cas.authn.jdbc.query[0].sql=select * from sso_user where username=?
cas.authn.jdbc.query[0].fieldPassword=password
cas.authn.jdbc.query[0].driverClass=com.mysql.jdbc.Driver
# 添加可以使用http认证
cas.tgc.secure=false
cas.serviceRegistry.initFromJson=true

修改cas可支持的service(支持http)

  • 编辑 / webapps/ cas/ WEB-INF/ classes/ services/ HTTPSandIMAPS-10000001.json
# 支持http
"serviceId" : "^(https|imaps)://.*", 改为 "serviceId" : "^(https|imaps|http)://.*",

编译打包-- >> 部署
在这里插入图片描述
静态账号密码提示框已经消失!

对MD5密码提供支持

  • application.properties文件中添加如下配置
cas.authn.jdbc.query[0].passwordEncoder.type=DEFAULT
cas.authn.jdbc.query[0].passwordEncoder.encodingAlgorithm=MD5
cas.authn.jdbc.query[0].passwordEncoder.characterEncoding=UTF-8

配置上之后,重启服务,数据库中存储的密码就是MD5加密过的了。
注意数据库中的MD5密文在CAS系统是区分大小写的,默认是MD5小写匹配。

参考资料 & 致谢

【1】CAS单点登录入门
【2】cas 5.2 单点登录(sso)服务器部署
【3】CAS-5.1.x,配置数据库以及实现自定义加密认证

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
12月前
|
前端开发 Java
SpringBoot 集成cas5.3 实现客户端接入cas认证中心
前面我们讲解了很多关于cas认证中心的内容,今天我们说一说如何接入客户端
691 0
|
NoSQL 前端开发 JavaScript
单点登录和CAS解决方案入门
单点登录和CAS解决方案入门
334 0
单点登录和CAS解决方案入门
|
存储 NoSQL 安全
JavaWeb - SSO单点登录原理之基于CAS(一)
JavaWeb - SSO单点登录原理之基于CAS(一)
216 0
|
缓存 网络安全
JavaWeb - SSO单点登录原理之基于CAS(二)
JavaWeb - SSO单点登录原理之基于CAS(二)
217 0
JavaWeb - SSO单点登录原理之基于CAS(二)
|
Java 应用服务中间件
CAS单点登陆原理简介及环境搭建(3)
CAS单点登陆原理简介及环境搭建(3)
124 0
CAS单点登陆原理简介及环境搭建(3)
|
应用服务中间件 数据库
CAS单点登陆原理简介及环境搭建(2)
CAS单点登陆原理简介及环境搭建(2)
150 0
CAS单点登陆原理简介及环境搭建(2)
|
应用服务中间件 数据安全/隐私保护
CAS单点登陆原理简介及环境搭建(1)
CAS单点登陆原理简介及环境搭建(1)
186 0
CAS单点登陆原理简介及环境搭建(1)
.NetWeb集成cas
仅供参考
725 0
|
安全 Java 应用服务中间件
|
网络协议 Java Unix