项目简介
本项目是基于Spring Cloud和Spring Security的微服务权限管理系统,旨在提供统一的用户认证、授权和权限管理解决方案。系统采用Spring Cloud作为微服务框架,Spring Security作为权限认证框架,结合Nacos作为服务注册和配置中心,Sentinel作为流量控制和熔断工具,SkyWalking作为链路跟踪工具,Redis作为缓存工具,MySQL作为数据库。
项目的主要特性和功能
- 统一权限认证
- 授权服务 (
pure-auth-server
):用Spring Security OAuth2和MySQL开发,支持多种验证模式,用户和客户端信息存于MySQL,用Redis缓存token等信息。 - 授权客户端 (
pure-auth-client
):提供便捷授权接口,便于统一管理使用授权客户端的服务。
- 授权服务 (
- 用户管理:提供用户信息增删改查功能,支持分页、条件查询,批量添加、修改及删除用户信息。
- 网关服务:网关服务 (
pure-gateway
) 对外统一提供服务,使用Spring Cloud Gateway,结合Sentinel、Nacos、Spring Security和Redis进行权限验证和流量控制。 - 微服务监控
- 服务发现/服务注册中心:使用Nacos。
- 微服务监控:使用Spring Cloud Admin。
- 配置中心:使用Nacos。
- 熔断/流量卫兵:使用Sentinel。
- 链路跟踪:使用SkyWalking。
- 数据库和缓存
- 数据库:使用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.yml
或application.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】