config | ||
doc/fastify-docs | ||
migrations | ||
src | ||
.env | ||
.gitignore | ||
.npmrc | ||
.prettier.config.cjs | ||
.prettierignore | ||
drizzle.config.js | ||
eslint.config.js | ||
package-lock.json | ||
package.json | ||
README.md |
RBAC 权限管理系统
基于 Fastify 的 Node.js 角色访问控制(RBAC)系统,提供灵活的权限管理能力。
主要特性
- 🛡️ 基于 JWT 的身份认证
- 🔑 角色-权限层级管理
- 🚦 请求权限验证中间件
- 📦 支持 PostgreSQL/MySQL 数据库
- 📝 审计日志记录
快速开始
前置要求
- Node.js v18+
- 数据库(PostgreSQL/MySQL)
- Redis(用于会话管理)
安装步骤
# 克隆仓库
git clone https://github.com/your-repo.git
cd rbac-system
# 安装依赖
npm install
# 配置环境变量(复制示例文件)
cp .env.example .env
# 数据库迁移
npx prisma migrate dev
# 启动服务
npm run dev
## 项目结构
```bash
├── src/
│ ├── routes/ # API 路由
│ │ ├── index.js # 路由入口
│ │ ├── user.js # 用户相关路由
│ ├── plugins/ # Fastify 插件
│ │ ├── db.js # 数据库连接
│ ├── services/ # 业务逻辑层
│ │ ├── userService.js # 用户服务
│ ├── utils/ # 工具类
│ │ ├── logger.js # 日志工具
│ ├── app.js # 应用入口
├── test/ # 测试用例
│ ├── routes/
│ │ ├── user.test.js # 用户路由测试
│ ├── utils/
│ │ ├── logger.test.js # 日志工具测试
├── config/ # 配置文件
│ ├── default.js # 通用配置
├── package.json # 依赖管理