littlebot
Published on 2025-04-10 / 0 Visits
0

【源码】基于Spring Cloud和Spring Security的微服务权限管理系统

项目简介

本项目是基于Spring Cloud和Spring Security的微服务权限管理系统,旨在提供统一的用户认证、授权和权限管理解决方案。系统采用Spring Cloud作为微服务框架,Spring Security作为权限认证框架,结合Nacos作为服务注册和配置中心,Sentinel作为流量控制和熔断工具,SkyWalking作为链路跟踪工具,Redis作为缓存工具,MySQL作为数据库。

项目的主要特性和功能

  1. 统一权限认证
    • 授权服务 (pure-auth-server):用Spring Security OAuth2和MySQL开发,支持多种验证模式,用户和客户端信息存于MySQL,用Redis缓存token等信息。
    • 授权客户端 (pure-auth-client):提供便捷授权接口,便于统一管理使用授权客户端的服务。
  2. 用户管理:提供用户信息增删改查功能,支持分页、条件查询,批量添加、修改及删除用户信息。
  3. 网关服务:网关服务 (pure-gateway) 对外统一提供服务,使用Spring Cloud Gateway,结合Sentinel、Nacos、Spring Security和Redis进行权限验证和流量控制。
  4. 微服务监控
    • 服务发现/服务注册中心:使用Nacos。
    • 微服务监控:使用Spring Cloud Admin。
    • 配置中心:使用Nacos。
    • 熔断/流量卫兵:使用Sentinel。
    • 链路跟踪:使用SkyWalking。
  5. 数据库和缓存
    • 数据库:使用MySQL。
    • 缓存:使用Redis缓存token等信息。

安装使用步骤

1. 环境准备

  • 安装Oracle JDK 8或更高版本。
  • 安装MySQL数据库,并创建相应的数据库和表。
  • 安装Redis,并启动Redis服务。
  • 下载并启动Nacos服务,配置服务注册和配置中心。
  • 下载并启动Sentinel控制台,配置流量控制和熔断规则。
  • 下载并启动SkyWalking,配置链路跟踪。

2. 项目构建

  • 复制项目代码到本地。
  • 进入项目目录: bash cd spring-cloud-me
  • 使用Maven构建项目: bash mvn clean install

3. 配置文件

  • application.ymlapplication.properties中配置数据库连接、Redis连接、Nacos地址、Sentinel地址等。
  • 配置Spring Security OAuth2的相关属性,如客户端ID、客户端密钥、授权类型等。

4. 启动服务

  • 启动Nacos、Sentinel、SkyWalking等服务。
  • 依次启动各个微服务模块,如授权服务、网关服务、用户管理服务等。

5. 访问系统

  • 通过网关服务的地址访问系统,如http://localhost:8080
  • 使用授权服务提供的接口进行用户认证和授权。

6. 部署

如果使用Docker部署,需要设置为--network host模式,以便Nacos能提供宿主机的IP地址,以便其他服务正确访问。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】