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

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: 【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,配置数据库以及实现自定义加密认证

相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
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搭建
1493 0
|
关系型数据库 MySQL 数据库连接
cas5.3 → 连接mysql数据库
cas5.3 → 连接mysql数据库
347 0
|
安全 Java 数据库连接
Security自定义全局AuthenticationManager
Security自定义全局AuthenticationManager
799 1
|
虚拟化 数据安全/隐私保护
|
JSON 安全 算法
Spring Security系列教程27--Spring Security实现CAS单点登录--搭建CAS服务端
前言 在上一章节中,一一哥 给各位介绍了单点登录的概念、执行流程原理,并且给大家介绍了CAS单点登录解决方案,在CAS解决方案中,我们需要搭建CAS服务端和CAS客户端,本文就开始给大家介绍如何实现CAS服务端。在这里,我给大家介绍一个开源的CAS服务端模板cas-overlay-template,接下来请跟我一起看看怎么实现吧。 一. 搭建CAS服务器 1. 概述 为了测试我前面讲解的CAS请求执行流程,我们需要搭建一个CAS测试环境,本篇内容主要是带领大家搭建一个CAS Server服务端环境。搭建CAS Server环境,需要依赖如下环境: ● JDK1.8+ ● Maven3.6+
2093 0
|
安全 Java 应用服务中间件
基于CAS,实现SSO单点登录,很细
基于CAS,实现SSO单点登录,很细
2120 2
基于CAS,实现SSO单点登录,很细
cas → 注销登录后跳转到登录页
cas → 注销登录后跳转到登录页
302 0
Ruoyi若依前后端一体项目整合cas单点登录
Ruoyi若依前后端一体项目整合cas单点登录
2376 0
|
XML 存储 缓存
SpringBoot 使用cas5.3 sso概念
最近一直在集成cas单点登录,这套文章记录一步一步讲解如何详细将cas集成单点登录,所以刚好把这些知识总结一下。如果文章中存在错误,期望大家指出。
952 0