littlebot
Published on 2025-04-17 / 2 Visits
0

【源码】基于Spring Cloud和Spring Boot的集成网关认证系统

项目简介

本项目基于Spring Cloud和Spring Boot框架构建,是一个集成系统,具备统一认证和网关两大核心功能。能够有效管理用户,为API资源提供统一的认证和授权管理,保障系统安全稳定运行。

项目的主要特性和功能

认证功能

  • 用户管理:可通过 http://{hostname}:{port}/admin 进行用户管理操作,默认管理员账号为 admin,密码为 changepwd,新创建用户默认密码同样为 changepwd
  • 认证流程:用户在 http://{hostname}:{port}/login 登录,登录成功后,token 存于 cookie 中,有效期 1 小时,可通过 http://{hostname}:{port}/refresh_token 的 GET 请求刷新。
  • API 权限获取:通过 http://{hostname}:{port}/filter_apis(GET 请求)获取当前用户可访问的 API 列表,请求体需按指定 JSON 格式提供。

网关功能

  • 路由配置:支持使用 Spring Cloud Gateway 自带的谓词和过滤器,可在配置文件中灵活配置。
  • 扩展头添加:认证通过的请求会在下游请求的 headers 中加入 X-YADA-ORG-ID(机构 Id)和 X-YADA-USER-ID(用户 Id)。

安装使用步骤

前提条件

确保已安装 jdk 1.8 和 mongodb 3.0+,且 mongodb 开启 Replica Set 以支持事务。

具体步骤

  1. 下载本项目的源码文件。
  2. 配置 gw/src/main/resources/application.yaml 文件,按需修改签名密钥、token 时效、用户默认密码等参数。
  3. 安装 admin webapp 依赖: zsh cd admin npm i
  4. 编译整个项目: zsh cd gw gradle buildAll 编译后的 jar 文件位于 gw/build/libs 目录。
  5. 若使用开发环境:
    • gw/dev 目录下,执行 docker-compose build 构建 app 镜像和 svc 镜像。
    • 执行 docker-compose up 启动所有服务,也可直接执行此步骤忽略上一步。
    • 配置 mongodb 的 Replica Set: zsh docker exec -it ${mongo docker container id} bash mongo rs.initiate({_id:"rs", members:[{_id:0, host:"127.0.0.1:27017"}]}) exit exit 可通过 docker ps 查看 container id。
  6. 若使用开发配置,需设置环境变量 spring.profiles.active=dev,配置文件在 gw/src/main/resources/application-dev.yaml

下载地址

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