- 新增JWT认证插件,支持用户登录、刷新Token功能 - 添加系统模块管理功能,包括模块的创建、更新和查询 - 更新用户服务,支持用户注册、登录和Token刷新 - 修改数据库表结构,添加模块相关表和字段 - 更新文档,添加JWT认证和模块管理相关说明 |
||
---|---|---|
config | ||
doc | ||
SQL | ||
src | ||
.env | ||
.gitignore | ||
.npmrc | ||
.prettier.config.cjs | ||
.prettierignore | ||
drizzle.config.js | ||
eslint.config.js | ||
package-lock.json | ||
package.json | ||
README.md | ||
yuheng.sql |
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 # 依赖管理