项目简介
本项目基于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 以支持事务。
具体步骤
- 下载本项目的源码文件。
- 配置
gw/src/main/resources/application.yaml
文件,按需修改签名密钥、token 时效、用户默认密码等参数。 - 安装 admin webapp 依赖:
zsh cd admin npm i
- 编译整个项目:
zsh cd gw gradle buildAll
编译后的 jar 文件位于gw/build/libs
目录。 - 若使用开发环境:
- 在
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。
- 在
- 若使用开发配置,需设置环境变量
spring.profiles.active=dev
,配置文件在gw/src/main/resources/application-dev.yaml
。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】