原文链接
https://novusai-saas.github.io/docs/api-reference/admin-api/auth-permission-management-api.md认证与权限管理API
本文引用的源码与文档
本文档引用的文件
- backend/app/api/admin/auth.py
- backend/app/api/admin/users.py
- backend/app/api/admin/tenant_users.py
- backend/app/api/admin/permissions.py
- backend/app/rbac/decorators.py
- backend/app/middleware/permission.py
- backend/app/middleware/access_control.py
- backend/app/middleware/tenant.py
- backend/app/enums/rbac.py
- backend/app/enums/error_code.py
- backend/app/schemas/system/user.py
- backend/app/schemas/system/tenant_user.py
- backend/app/schemas/system/permission.py
- backend/app/services/system/user_service.py
- backend/app/services/system/tenant_user_service.py
- backend/app/services/system/permission_service.py
- backend/app/repositories/system/user_repository.py
- backend/app/repositories/system/tenant_user_repository.py
- backend/app/repositories/system/permission_repository.py
- backend/app/models/system/user.py
- backend/app/models/system/tenant_user.py
- backend/app/models/system/permission.py
- backend/app/rbac/services/permission_service.py
- backend/app/rbac/services/permission_domains/query.py
- backend/app/rbac/services/permission_domains/checks.py
- backend/app/rbac/services/permission_domains/presentation.py
- backend/app/rbac/services/permission_domains/tenant_admin.py
- backend/app/rbac/menus/admin_menus.py
- backend/app/rbac/menus/tenant_menus.py
- backend/app/rbac/menus/user_menus.py
目录
简介
本文件面向管理端的认证与权限管理API,覆盖管理员用户认证、权限分配、角色管理、用户账户管理等功能。文档化了登录认证流程、权限验证机制、用户状态管理、租户用户权限控制等接口,并解释RBAC权限模型在管理端的应用(权限继承、角色层级、资源访问控制)。内容包含请求参数、响应格式、错误码说明与使用示例,帮助开发者快速集成与排查问题。
项目结构
管理端认证与权限相关模块主要分布在以下路径:
- 后端API层:
backend/app/api/admin/(认证、用户、租户用户、权限等) - RBAC服务与菜单:
backend/app/rbac/(装饰器、权限服务、菜单定义) - 中间件:
backend/app/middleware/(权限、访问控制、租户隔离) - 枚举与数据模型:
backend/app/enums/、backend/app/models/system/、backend/app/schemas/system/ - 服务与仓储:
backend/app/services/system/、backend/app/repositories/system/
图表来源
- backend/app/api/admin/auth.py
- backend/app/api/admin/users.py
- backend/app/api/admin/tenant_users.py
- backend/app/api/admin/permissions.py
- backend/app/rbac/decorators.py
- backend/app/rbac/services/permission_service.py
- backend/app/rbac/menus/admin_menus.py
- backend/app/middleware/permission.py
- backend/app/middleware/access_control.py
- backend/app/middleware/tenant.py
- backend/app/services/system/user_service.py
- backend/app/services/system/tenant_user_service.py
- backend/app/services/system/permission_service.py
- backend/app/repositories/system/user_repository.py
- backend/app/repositories/system/tenant_user_repository.py
- backend/app/repositories/system/permission_repository.py
章节来源
- backend/app/api/admin/auth.py
- backend/app/api/admin/users.py
- backend/app/api/admin/tenant_users.py
- backend/app/api/admin/permissions.py
- backend/app/rbac/decorators.py
- backend/app/middleware/permission.py
- backend/app/middleware/access_control.py
- backend/app/middleware/tenant.py
核心组件
- 认证接口:提供管理员登录、登出、会话维护、验证码等能力
- 权限与角色:基于RBAC模型的角色管理、权限分配、资源访问控制
- 用户与租户用户:系统用户与租户用户的增删改查、状态管理、权限绑定
- 中间件链路:权限校验、跨域、审计日志、租户隔离等横切关注点
- RBAC服务:权限聚合、查询、检查、呈现与菜单生成
章节来源
- backend/app/api/admin/auth.py
- backend/app/api/admin/permissions.py
- backend/app/api/admin/users.py
- backend/app/api/admin/tenant_users.py
- backend/app/rbac/decorators.py
- backend/app/middleware/permission.py
架构总览
管理端认证与权限的整体架构由API控制器、服务层、仓储层、RBAC服务与中间件共同组成。请求通过中间件进行租户隔离、权限校验与访问控制,再进入业务服务完成数据操作,最终返回标准化响应。
图表来源
- backend/app/middleware/permission.py
- backend/app/middleware/access_control.py
- backend/app/middleware/tenant.py
- backend/app/api/admin/auth.py
- backend/app/services/system/user_service.py
- backend/app/repositories/system/user_repository.py
- backend/app/rbac/services/permission_service.py
- backend/app/rbac/menus/admin_menus.py
详细组件分析
认证接口(管理员登录)
- 接口目标:为管理员用户提供安全登录、会话维护与登出能力
- 关键流程:
- 参数校验与安全检查
- 凭据验证(用户名/密码或验证码)
- 会话建立与令牌签发
- 登录审计与状态更新
- 请求参数(示例):账号、密码、验证码、是否记住登录
- 响应格式:令牌、用户信息、权限集合、过期时间
- 错误码:账号不存在、密码错误、验证码错误、账户锁定、登录失败等
图表来源
- backend/app/api/admin/auth.py
- backend/app/services/system/user_service.py
- backend/app/repositories/system/user_repository.py
- backend/app/middleware/permission.py
章节来源
- backend/app/api/admin/auth.py
- backend/app/services/system/user_service.py
- backend/app/repositories/system/user_repository.py
- backend/app/enums/error_code.py
权限与角色管理
- 角色与权限:
- 角色定义与层级(支持继承与覆盖)
- 权限资源与动作(按组织/全局/租户维度)
- 资源访问控制(基于范围与作用域)
- 权限服务:
- 权限聚合与查询
- 权限检查与缓存
- 菜单呈现与动态生成
- 接口能力:角色创建/更新/删除、权限分配/回收、批量授权、菜单同步
图表来源
- backend/app/rbac/services/permission_service.py
- backend/app/rbac/services/permission_domains/query.py
- backend/app/rbac/services/permission_domains/checks.py
- backend/app/rbac/services/permission_domains/presentation.py
章节来源
- backend/app/api/admin/permissions.py
- backend/app/rbac/services/permission_service.py
- backend/app/rbac/services/permission_domains/query.py
- backend/app/rbac/services/permission_domains/checks.py
- backend/app/rbac/services/permission_domains/presentation.py
- backend/app/rbac/menus/admin_menus.py
- backend/app/enums/rbac.py
用户账户管理
- 功能范围:用户创建、更新、禁用/启用、重置密码、查询与分页
- 数据模型:用户基本信息、登录安全字段、状态与创建时间
- 服务职责:业务规则校验、密码处理、状态变更、审计日志
- 接口示例:GET/POST/PUT/DELETE /admin/users
图表来源
- backend/app/api/admin/users.py
- backend/app/services/system/user_service.py
- backend/app/repositories/system/user_repository.py
- backend/app/models/system/user.py
- backend/app/schemas/system/user.py
章节来源
- backend/app/api/admin/users.py
- backend/app/services/system/user_service.py
- backend/app/repositories/system/user_repository.py
- backend/app/models/system/user.py
- backend/app/schemas/system/user.py