用户体系
基于 Go + PostgreSQL + Docker Compose 的用户权限管理模块,角色覆盖:系统管理员、管理员、用户。
技术栈
| 层 |
技术 |
| 后端 |
Go 1.25 + Gin + GORM + JWT + bcrypt |
| 数据库 |
PostgreSQL 18 |
| 前端 |
React 18 + Vite + Tailwind CSS |
| 部署 |
Docker Compose |
快速启动
默认端口
| 服务 |
端口 |
| 前端 |
3018 |
| 后端 API |
3019 |
| PostgreSQL |
5432 |
默认系统管理员
系统启动时会自动创建一个系统管理员账号(仅当不存在时):
| 用户名 |
密码 |
system_admin |
system_admin |
整个系统只能有一个系统管理员账号,无法通过管理后台再创建或提升其他系统管理员。
角色说明
| 角色 |
权限 |
| 系统管理员 |
管理管理员、用户、系统配置 |
| 管理员 |
管理普通用户 |
| 用户 |
访问业务功能、修改个人资料 |
主要 API
| 方法 |
路径 |
说明 |
权限 |
| POST |
/api/auth/login |
登录 |
公开 |
| GET |
/api/auth/me |
当前用户 |
需登录 |
| POST |
/api/auth/logout |
登出 |
需登录 |
| GET |
/api/admin/users |
用户列表 |
admin / system_admin |
| POST |
/api/admin/users |
创建用户 |
admin / system_admin |
| PUT |
/api/admin/users/:id |
更新用户/角色 |
admin / system_admin |
| DELETE |
/api/admin/users/:id |
删除用户 |
system_admin |
| GET |
/api/admin/roles |
角色列表 |
admin / system_admin |
目录结构
开发
注意事项
- 生产环境请务必修改
JWT_SECRET。
- 首次启动时 GORM 会自动创建表并插入默认角色。