编程 Gin-Vue-Admin 搭管理后台:版本口径、JWT+Casbin 双中间件与启动顺序

2026-09-23 00:03:44

Gin-Vue-Admin 搭管理后台:版本口径、JWT+Casbin 双中间件与启动顺序

gin-vue-admin

项目信息

支持 Claw 生态

🦞 GvaClaw

一分钟生成前后端基础代码

高度适配 AI 编辑器的 MCP,流程是:创建基础模板 → AI 生成结构 → 生成代码 → 分配权限 → 基础 CURD 生成完成。

1. 基本介绍

1.1 项目介绍

Gin-vue-admin 是一个基于 vuegin 开发的全栈前后端分离的开发基础平台,集成 jwt 鉴权、动态路由、动态菜单、casbin 鉴权、表单生成器、代码生成器等功能,提供多种示例文件,把更多时间专注在业务开发上。

它是一套前后端分离架构的开源框架,面向中小型项目的快速搭建。

2. 使用说明

  • node 版本 > v18.16.0
  • golang 版本 >= v1.22
  • IDE 推荐:Goland

2.1 server 项目

Goland 等编辑工具时,要打开 server 目录,不能打开 gin-vue-admin 根目录。

# 克隆项目
git clone https://github.com/flipped-aurora/gin-vue-admin.git
# 进入server文件夹
cd server

# 使用 go mod 并安装go依赖包
go generate

# 运行
go run . 

2.2 web 项目

# 进入web文件夹
cd web

# 安装依赖
npm install

# 启动web项目
npm run serve

2.3 swagger 自动化 API 文档

2.3.1 安装 swagger

go install github.com/swaggo/swag/cmd/swag@latest

2.3.2 生成 API 文档

cd server
swag init

执行后 server 目录下 docs 文件夹里的 docs.goswagger.jsonswagger.yaml 三个文件会更新。启动 go 服务后,浏览器访问 http://localhost:8888/swagger/index.html 查看文档。注意是 8888 端口,不是前端 dev server 的端口。

2.4 VSCode 工作区

2.4.1 开发

VSCode 打开根目录下的工作区文件 gin-vue-admin.code-workspace,边栏会出现三个虚拟目录:backendfrontendroot

2.4.2 运行/调试

运行和调试里有三个 task:BackendFrontendBoth (Backend & Frontend)。运行 Both (Backend & Frontend) 可同时启动前后端。

2.4.3 settings

工作区配置文件中的 go.toolsEnvVars 字段用于 VSCode 自身的 go 工具环境变量;多 go 版本系统中可以通过 gopathgo.goroot 指定运行版本。

    "go.gopath": null,
    "go.goroot": null,

3. 技术选型

  • 前端:基于 VueElement 构建基础页面。
  • 后端:用 Gin 快速搭建基础 restful 风格 API,Gin 是 go 语言编写的 Web 框架。
  • 数据库:MySQLMariaDB(5.7+),引擎 InnoDB,用 gorm 做数据库基本操作。
  • 缓存:用 Redis 记录当前活跃用户的 jwt 令牌,实现多点登录限制。
  • API 文档:用 Swagger 构建自动化文档。
  • 配置文件:用 fsnotifyviper 实现 yaml 格式配置。
  • 日志:用 zap 记录日志。

5. 主要功能

  • 权限管理:基于 jwtcasbin 实现。请求先过认证中间件 middleware.JWT 校验身份,再由授权中间件 middleware.Casbin 判断当前角色能否访问该 API。
  • 文件上传下载:基于 七牛云阿里云腾讯云 的上传实现。
  • 分页封装:前端用 mixins 封装分页,调用分页方法即可。
  • 用户管理:系统管理员分配用户角色和角色权限。
  • 角色管理:权限控制的主要对象,可给角色分别分配 API 权限和菜单权限。
  • 菜单管理:用户动态菜单配置,不同角色看到不同菜单;配合动态路由,菜单权限直接决定前端路由表。
  • api 管理:不同用户可调用的 API 接口不同。
  • 配置管理:配置文件可前台修改(在线体验站点不开放此功能)。
  • 条件搜索:条件搜索示例。
  • restful 示例:参考用户管理模块中的示例 API。
  • 多点登录限制:借助 Redis 配合对应配置限制多端登录状态。
  • 分片上传:文件分片上传和大文件分片上传的示例。
  • 表单生成器:借助 @Variant Form
  • 代码生成器:后台基础逻辑以及简单 CURD 的代码生成器。

代码生成器的边界要说清楚:它产出的是后台基础逻辑和简单 CURD 的骨架,配合 MCP 流程走完「建模板 → 生成结构 → 生成代码 → 分配权限」,一套基础 CURD 可以很快跑通。但多表关联、复杂校验、事务、状态流转这类业务逻辑,仍然需要手写 service 层。

6. 知识库

6.1 团队博客

https://www.yuque.com/flipped-aurora

6.2 教学视频

  1. 手把手教学视频https://www.bilibili.com/video/BV1Rg411u7xH/
  2. 后端目录结构调整介绍以及使用方法https://www.bilibili.com/video/BV1x44y117TT/
  3. gin-vue-admin 版本更新介绍视频bilibili

版本要求

README badge 标注的是 golang 1.20、gin 1.9.1、vue 3.3.4、element-plus 2.3.8、gorm 1.25.2;使用说明里写 node > v18.16.0、golang >= v1.22;官方文档则是另一套:

  • Node.js:≥ 20.19 或 ≥ 22.12
  • Go:≥ 1.24
  • MySQL:≥ 5.7(引擎必须为 InnoDB,推荐 8.0)

官方文档列出的后端版本:Go ≥ 1.24、Gin v1.10.0、GORM v1.31.1、Casbin v3.10.0;前端:Vue ^3.5.31、Element Plus ^2.13.6、Pinia ^2、Vue Router ^4、Vite ^8。

三处口径不一致,环境按官方文档的版本准备,否则依赖拉下来容易对不上。

关键组件与代码位置

  • 服务启动:main.go — 服务器引导程序
  • 配置系统:core.Viper — 配置管理系统
  • 认证中间件:middleware.JWT — JWT 身份验证
  • 授权中间件:middleware.Casbin — 权限控制处理
  • API 处理器:api.v1 — REST API 处理程序
  • 业务服务:service.* — 业务逻辑服务
  • 代码生成:service.AutoCode — 自动代码生成引擎

GVA 3.0 AI 方向

  • 在 GVA 中选择 API,填写每个 Skill 的名称与描述,点击生成,下载包含 API 代码与自动生成 Skill 文件的 ZIP 包。把 Skill 文件放入项目后,任何 AI Agent 都能直接调用这些 API,权限统一走内部校验。
  • 配置 MCP 即可用 Claude Code、Cursor、Codex 搭建系统;Agent 调用仍经过 GVA 内部权限校验,现有角色与权限配置直接生效。

10. 注意事项

请遵守 Apache License 2.0,并按许可证要求保留适用的版权、专利、商标和归属声明。授权版功能与官方商业支持请通过商业授权页面获取。

推荐文章

程序员茄子在线接单