# python-rbac **Repository Path**: fryu11/python-rbac ## Basic Information - **Project Name**: python-rbac - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-10 - **Last Updated**: 2026-04-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RBAC 权限管理系统 一个基于 FastAPI + Vue 3 + PostgreSQL + Redis 的 RBAC(基于角色的访问控制)权限管理系统。 ## 技术栈 ### 后端 - Python 3.11+ - FastAPI 框架 - PostgreSQL 数据库 - SQLAlchemy ORM - Redis 缓存 - JWT 认证 - Pydantic 数据验证 - Alembic 数据库迁移 ### 前端 - Vue 3 + TypeScript - Element Plus UI 组件库 - Pinia 状态管理 - Vue Router 路由 - Axios 网络请求 ## 项目结构 ``` python-rbac/ ├── backend/ # 后端代码 │ ├── app/ # 应用主目录 │ │ ├── api/ # API 路由 │ │ ├── core/ # 核心配置 │ │ ├── middleware/ # 中间件 │ │ ├── models/ # 数据库模型 │ │ ├── repositories/ # 数据访问层 │ │ ├── schemas/ # 数据验证 │ │ ├── services/ # 业务逻辑层 │ │ ├── utils/ # 工具函数 │ │ └── main.py # 应用入口 │ ├── alembic/ # 数据库迁移 │ ├── tests/ # 测试代码 │ ├── Dockerfile # Docker 配置 │ └── requirements.txt # 依赖管理 ├── frontend/ # 前端代码 │ ├── src/ # 源代码 │ │ ├── assets/ # 静态资源 │ │ ├── components/ # 组件 │ │ ├── layout/ # 布局 │ │ ├── router/ # 路由 │ │ ├── stores/ # 状态管理 │ │ ├── types/ # 类型定义 │ │ ├── utils/ # 工具函数 │ │ ├── views/ # 页面 │ │ ├── App.vue # 应用根组件 │ │ └── main.ts # 应用入口 │ ├── public/ # 公共资源 │ ├── .env.development # 开发环境配置 │ ├── .env.production # 生产环境配置 │ ├── index.html # HTML 模板 │ ├── package.json # 前端依赖 │ └── vite.config.ts # Vite 配置 ├── docker/ # Docker 相关配置 │ └── nginx/ # Nginx 配置 ├── docker-compose.yml # Docker Compose 配置 └── README.md # 项目文档 ``` ## 功能特性 ### 核心功能 - 用户管理:用户的增删改查、密码重置 - 角色管理:角色的增删改查、权限分配 - 菜单管理:菜单的增删改查、权限控制 - 部门管理:部门的增删改查 - 岗位管理:岗位的增删改查 - 字典管理:字典类型和数据的管理 - 系统配置:系统参数的管理 - 通知管理:系统通知的管理 - 日志管理:操作日志和登录日志的查看 ### 安全特性 - JWT 令牌认证 - 密码哈希加密 - 权限控制(基于角色和菜单) - 操作日志记录 - 登录日志记录 - 请求限流 ## 快速开始 ### 环境要求 - Python 3.11+ - Node.js 16+ - PostgreSQL 15+ - Redis 7+ - Docker (可选) ### 本地开发 #### 后端 1. 安装依赖 ```bash cd backend pip install -r requirements.txt ``` 2. 配置环境变量 ```bash cp .env.example .env # 编辑 .env 文件,设置数据库连接信息 ``` 3. 运行数据库迁移 ```bash cd backend alembic upgrade head ``` 4. 启动后端服务 ```bash cd backend uvicorn app.main:app --reload ``` #### 前端 1. 安装依赖 ```bash cd frontend npm install ``` 2. 启动前端开发服务器 ```bash cd frontend npm run dev ``` ### Docker 部署 1. 构建并启动所有服务 ```bash docker-compose up -d --build ``` 2. 访问应用 - 前端:http://localhost - 后端 API:http://localhost:8000 - API 文档:http://localhost:8000/docs ## API 文档 ### 认证相关 - `POST /api/v1/auth/login` - 用户登录 - `POST /api/v1/auth/logout` - 用户登出 - `GET /api/v1/auth/me` - 获取当前用户信息 ### 用户管理 - `GET /api/v1/users` - 获取用户列表 - `POST /api/v1/users` - 创建用户 - `GET /api/v1/users/{id}` - 获取用户详情 - `PUT /api/v1/users/{id}` - 更新用户 - `DELETE /api/v1/users/{id}` - 删除用户 ### 角色管理 - `GET /api/v1/roles` - 获取角色列表 - `POST /api/v1/roles` - 创建角色 - `GET /api/v1/roles/{id}` - 获取角色详情 - `PUT /api/v1/roles/{id}` - 更新角色 - `DELETE /api/v1/roles/{id}` - 删除角色 ### 菜单管理 - `GET /api/v1/menus` - 获取菜单列表 - `POST /api/v1/menus` - 创建菜单 - `GET /api/v1/menus/{id}` - 获取菜单详情 - `PUT /api/v1/menus/{id}` - 更新菜单 - `DELETE /api/v1/menus/{id}` - 删除菜单 ### 部门管理 - `GET /api/v1/depts` - 获取部门列表 - `POST /api/v1/depts` - 创建部门 - `GET /api/v1/depts/{id}` - 获取部门详情 - `PUT /api/v1/depts/{id}` - 更新部门 - `DELETE /api/v1/depts/{id}` - 删除部门 ### 岗位管理 - `GET /api/v1/posts` - 获取岗位列表 - `POST /api/v1/posts` - 创建岗位 - `GET /api/v1/posts/{id}` - 获取岗位详情 - `PUT /api/v1/posts/{id}` - 更新岗位 - `DELETE /api/v1/posts/{id}` - 删除岗位 ### 字典管理 - `GET /api/v1/dict/types` - 获取字典类型列表 - `POST /api/v1/dict/types` - 创建字典类型 - `GET /api/v1/dict/types/{id}` - 获取字典类型详情 - `PUT /api/v1/dict/types/{id}` - 更新字典类型 - `DELETE /api/v1/dict/types/{id}` - 删除字典类型 - `GET /api/v1/dict/data` - 获取字典数据列表 - `POST /api/v1/dict/data` - 创建字典数据 - `GET /api/v1/dict/data/{id}` - 获取字典数据详情 - `PUT /api/v1/dict/data/{id}` - 更新字典数据 - `DELETE /api/v1/dict/data/{id}` - 删除字典数据 ### 系统配置 - `GET /api/v1/configs` - 获取配置列表 - `POST /api/v1/configs` - 创建配置 - `GET /api/v1/configs/{id}` - 获取配置详情 - `PUT /api/v1/configs/{id}` - 更新配置 - `DELETE /api/v1/configs/{id}` - 删除配置 ### 通知管理 - `GET /api/v1/notices` - 获取通知列表 - `POST /api/v1/notices` - 创建通知 - `GET /api/v1/notices/{id}` - 获取通知详情 - `PUT /api/v1/notices/{id}` - 更新通知 - `DELETE /api/v1/notices/{id}` - 删除通知 ### 日志管理 - `GET /api/v1/login-logs` - 获取登录日志列表 - `GET /api/v1/oper-logs` - 获取操作日志列表 ## 许可证 MIT License