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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
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,配置数据库以及实现自定义加密认证

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
算法 Java 应用服务中间件
cas5.3:CAS Server搭建
cas5.3:CAS Server搭建
1233 0
|
关系型数据库 MySQL 数据库连接
cas5.3 → 连接mysql数据库
cas5.3 → 连接mysql数据库
282 0
|
虚拟化 数据安全/隐私保护
|
Java 应用服务中间件 数据安全/隐私保护
利用Tomcat9.0.x搭建CAS中央认证服务器【协议采用HTTPS】
利用Tomcat9.0.x搭建CAS中央认证服务器【协议采用HTTPS】
549 0
利用Tomcat9.0.x搭建CAS中央认证服务器【协议采用HTTPS】
|
安全 Java 应用服务中间件
基于CAS实现SSO单点登录
基于CAS实现SSO单点登录
基于CAS实现SSO单点登录
|
安全 Java 应用服务中间件
基于CAS,实现SSO单点登录,很细
基于CAS,实现SSO单点登录,很细
1720 2
基于CAS,实现SSO单点登录,很细
Ruoyi若依前后端一体项目整合cas单点登录
Ruoyi若依前后端一体项目整合cas单点登录
1999 0
|
Java 关系型数据库 应用服务中间件
|
存储 NoSQL 算法
搞懂单点登录SSO,基于SpringBoot+JWT实现单点登录解决方案
单点登录是目前比较流行的企业业务整合的解决方案之一。单点登录是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。例如:百度旗下有很多的产品,比如百度贴吧、百度知道、百度文库等,只要登录百度账号,在任何一个地方都是已登录状态,不需要重新登录。 单点登录是互联网应用和企业级平台中的基础组件服务。接下来就介绍单点登录的原理,并基于SpringBoot +JWT实现单点登录解决方案。
19925 2
搞懂单点登录SSO,基于SpringBoot+JWT实现单点登录解决方案
|
前端开发 Java
SpringBoot 集成cas5.3 实现客户端接入cas认证中心
前面我们讲解了很多关于cas认证中心的内容,今天我们说一说如何接入客户端
1795 0