{"id":28900007,"url":"https://github.com/lijianqiao/fastapi_admin","last_synced_at":"2026-04-24T20:33:47.379Z","repository":{"id":297758650,"uuid":"994321271","full_name":"lijianqiao/FastApi_admin","owner":"lijianqiao","description":"基于 FastAPI 框架构建的现代化企业级后台管理系统后端 API，采用分层架构设计，具备高性能、强安全性、易维护、易扩展等特点。","archived":false,"fork":false,"pushed_at":"2025-08-13T16:26:08.000Z","size":675,"stargazers_count":3,"open_issues_count":0,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-13T17:30:41.914Z","etag":null,"topics":["admin-template","backend-api","fastapi","fastapi-admin","tortoise-orm"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lijianqiao.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-01T17:33:51.000Z","updated_at":"2025-08-13T16:26:12.000Z","dependencies_parsed_at":"2025-07-26T09:25:20.399Z","dependency_job_id":"17afa445-97f8-4bbc-8ac6-a3c77b28a3e6","html_url":"https://github.com/lijianqiao/FastApi_admin","commit_stats":null,"previous_names":["lijianqiao/fastapi_admin"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lijianqiao/FastApi_admin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lijianqiao%2FFastApi_admin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lijianqiao%2FFastApi_admin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lijianqiao%2FFastApi_admin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lijianqiao%2FFastApi_admin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lijianqiao","download_url":"https://codeload.github.com/lijianqiao/FastApi_admin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lijianqiao%2FFastApi_admin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32239781,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T13:21:15.438Z","status":"ssl_error","status_checked_at":"2026-04-24T13:21:15.005Z","response_time":64,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["admin-template","backend-api","fastapi","fastapi-admin","tortoise-orm"],"created_at":"2025-06-21T09:09:09.421Z","updated_at":"2026-04-24T20:33:47.373Z","avatar_url":"https://github.com/lijianqiao.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FastAPI RBAC 后台管理系统\n\n# ⚠️ 注意：该版本已重构，https://github.com/lijianqiao/fastapi-admin-v2 ，本项目不做后续维护！！\n# ⚠️ 注意：该版本已重构，https://github.com/lijianqiao/fastapi-admin-v2 ，本项目不做后续维护！！\n# ⚠️ 注意：该版本已重构，https://github.com/lijianqiao/fastapi-admin-v2 ，本项目不做后续维护！！\n\n基于 FastAPI 的现代化 RBAC 权限管理系统，提供完整的用户、角色、权限管理和操作日志功能。\n\n## 🚀 核心特性\n\n- **RBAC 权限模型** - 用户-角色-权限三层权限控制\n- **操作日志系统** - 自动记录用户操作行为\n- **JWT 认证** - 安全的身份验证和授权\n- **依赖注入权限控制** - 基于装饰器的细粒度权限检查\n- **软删除支持** - 数据安全保护，支持恢复\n- **高性能 DAO 层** - 支持批量操作、缓存优化\n- **统一异常处理** - 标准化错误响应\n\n## 📁 项目结构\n\n```\napp/\n├── main.py                 # 应用入口\n├── core/                   # 核心组件\n│   ├── config.py           # 配置管理\n│   ├── security.py         # JWT 安全管理\n│   ├── permissions/        # 权限系统\n│   │   └── simple_decorators.py  # 权限装饰器\n│   ├── exceptions.py       # 异常处理\n│   └── middleware.py       # 中间件\n├── models/                 # 数据模型\n│   ├── user.py             # 用户模型\n│   ├── role.py             # 角色模型\n│   ├── permission.py       # 权限模型\n│   └── operation_log.py    # 操作日志模型\n├── dao/                    # 数据访问层\n├── services/               # 业务逻辑层\n├── schemas/                # 数据校验层\n├── api/v1/                 # API 接口层\n│   ├── auth.py             # 认证接口\n│   ├── users.py            # 用户管理\n│   ├── roles.py            # 角色管理\n│   ├── permissions.py      # 权限管理\n│   └── operation_logs.py   # 操作日志\n└── utils/                  # 工具函数\n    ├── deps.py             # 依赖注入\n    └── operation_logger.py # 操作日志装饰器\n```\n\n## ⚡ 快速开始\n\n```bash\n# 创建环境\nuv venv --python 3.13\n\n# 安装依赖\nuv sync\n\n# 配置环境变量 (记得创建数据库，修改对应配置)\ncp .env.example .env\n\n# 初始化数据库\naerich init-db\n\n# 初始化管理员用户、角色、权限 (环境变量文件可以修改初始化管理员账户的相关信息)\nuv run python manage_db.py init\n\n# 运行应用\nuv run python start.py\n```\n\n访问: http://127.0.0.1:8000/api/docs\n\n## 🧪 测试\n\n项目包含一套完整的测试用例，覆盖了核心的 API 端点和业务逻辑。\n\n```bash\n# 运行所有测试\npytest\n```\n\n## 🌟 权限系统\n\n### RBAC 模型\n- **用户 (User)**: 系统使用者\n- **角色 (Role)**: 权限的集合\n- **权限 (Permission)**: 具体的操作权限\n\n### 权限控制\n```python\n# API 端点权限控制\n@router.get(\"/users\")\nasync def list_users(\n    context: OperationContext = Depends(require_permission(\"user:read\"))\n):\n    \"\"\"获取用户列表\"\"\"\n    pass\n\n# 多权限检查\n@router.put(\"/users/{user_id}\")\nasync def update_user(\n    context: OperationContext = Depends(require_any_permission(\"user:update\", \"admin:write\"))\n):\n    \"\"\"更新用户\"\"\"\n    pass\n```\n\n### 操作日志\n```python\n# 自动记录操作日志\n@log_create_with_context(\"user\")\nasync def create_user(self, request: UserCreateRequest, operation_context: OperationContext):\n    \"\"\"创建用户时自动记录日志\"\"\"\n    pass\n```\n\n## 🔧 核心组件\n\n### 权限常量\n```python\nclass Permissions:\n    # 用户管理\n    USER_CREATE = \"user:create\"\n    USER_READ = \"user:read\"\n    USER_UPDATE = \"user:update\"\n    USER_DELETE = \"user:delete\"\n    \n    # 角色管理\n    ROLE_CREATE = \"role:create\"\n    ROLE_READ = \"role:read\"\n    # ...\n```\n\n### 基础模型\n```python\nclass BaseModel(Model):\n    id = fields.UUIDField(pk=True, default=uuid4)\n    created_at = fields.DatetimeField(auto_now_add=True)\n    updated_at = fields.DatetimeField(auto_now=True)\n    is_deleted = fields.BooleanField(default=False)  # 软删除\n    version = fields.IntField(default=1)  # 乐观锁\n```\n\n## 🔒 安全特性\n\n- JWT Token 认证\n- 权限缓存机制\n- 软删除数据保护\n- 操作日志审计\n- 乐观锁防并发冲突\n- CORS 跨域支持\n\n## 📄 许可证\n\nMIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flijianqiao%2Ffastapi_admin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flijianqiao%2Ffastapi_admin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flijianqiao%2Ffastapi_admin/lists"}