原文链接
https://nvuai.cc/docs/api-reference/authentication-authorization.md认证与授权
本文引用的源码与文档
本文引用的文件
- backend/app/api/admin/auth.py
- backend/app/api/tenant/auth.py
- backend/app/api/user/auth.py
- backend/app/api/admin/permissions.py
- backend/app/api/tenant/permissions.py
- backend/app/api/user/permissions.py
- backend/app/api/tenant/permission_roles.py
- backend/app/core/org_authority.py
- backend/app/core/security.py
- backend/app/middleware/permission.py
- backend/app/middleware/tenant.py
- backend/app/middleware/access_control.py
- backend/app/middleware/audit_log.py
- backend/app/models/auth/permission.py
- backend/app/repositories/system/admin_permission_role_repository.py
- backend/app/repositories/tenant/tenant_permission_role_repository.py
- backend/app/rbac/services/permission_service.py
- backend/app/services/common/auth_service.py
- backend/app/services/common/auth_domains/admin_auth.py
- backend/app/services/common/auth_domains/tenant_admin_auth.py
- backend/app/services/common/auth_domains/tenant_user_auth.py
- backend/app/services/common/auth_domains/login_security.py
- backend/app/services/system/admin_org_authority_service.py
- backend/app/services/tenant/tenant_org_authority_service.py
- backend/app/enums/rbac.py
- backend/app/schemas/common/auth.py
- backend/app/schemas/common/permission.py
- backend/app/schemas/system/admin_permission_role.py
- backend/app/schemas/tenant/tenant_permission_role.py
- backend/migrations/versions/20260123_0006_add_login_security_fields.py
- backend/migrations/versions/20260325_org_authority_rebuild.py
- backend/migrations/versions/20260320_unified_resource_and_permission_scope.py
- backend/tests/api/test_admin_auth.py
- backend/tests/api/test_tenant_auth.py
- backend/tests/api/test_user_auth_tenant_resolution.py
- backend/tests/services/test_auth_service.py
- backend/tests/services/test_auth_logging.py
目录
简介
本文件面向认证与授权系统,系统性梳理身份验证机制、权限控制策略与安全防护措施,覆盖 JWT 令牌管理、会话控制、角色权限分配与资源访问控制。文档解释不同 API 组(管理员、租户、用户)的认证要求、权限级别与访问控制规则,并提供从登录到 API 调用的完整流程示例。同时给出安全最佳实践、令牌刷新机制与会话超时处理建议,以及多租户环境下的权限隔离与数据安全保护策略。
项目结构
认证与授权相关代码主要分布在以下模块:
- API 层:管理员、租户、用户的认证与权限路由
- 中间件层:权限校验、多租户解析、访问控制与审计日志
- 核心与服务层:组织权限、RBAC 权限服务、认证域服务与通用认证服务
- 数据模型与仓库:权限模型、系统与租户权限角色仓库
- 枚举与模式:RBAC 枚举、权限与认证模式定义
- 迁移:登录安全字段、组织权限重建、统一资源与权限范围等
图表来源
- backend/app/api/admin/auth.py
- backend/app/api/tenant/auth.py
- backend/app/api/user/auth.py
- backend/app/middleware/permission.py
- backend/app/middleware/tenant.py
- backend/app/rbac/services/permission_service.py
- backend/app/services/common/auth_service.py
- backend/app/services/common/auth_domains/admin_auth.py
- backend/app/services/common/auth_domains/tenant_admin_auth.py
- backend/app/services/common/auth_domains/tenant_user_auth.py
- backend/app/services/system/admin_org_authority_service.py
- backend/app/services/tenant/tenant_org_authority_service.py
- backend/app/models/auth/permission.py
- backend/app/repositories/system/admin_permission_role_repository.py
- backend/app/repositories/tenant/tenant_permission_role_repository.py
- backend/app/enums/rbac.py
- backend/app/schemas/common/permission.py
- backend/app/schemas/common/auth.py
- backend/app/schemas/system/admin_permission_role.py
- backend/app/schemas/tenant/tenant_permission_role.py
章节来源
- backend/app/api/admin/auth.py
- backend/app/api/tenant/auth.py
- backend/app/api/user/auth.py
- backend/app/middleware/permission.py
- backend/app/middleware/tenant.py
- backend/app/rbac/services/permission_service.py
- backend/app/services/common/auth_service.py
- backend/app/services/common/auth_domains/admin_auth.py
- backend/app/services/common/auth_domains/tenant_admin_auth.py
- backend/app/services/common/auth_domains/tenant_user_auth.py
- backend/app/services/system/admin_org_authority_service.py
- backend/app/services/tenant/tenant_org_authority_service.py
- backend/app/models/auth/permission.py
- backend/app/repositories/system/admin_permission_role_repository.py
- backend/app/repositories/tenant/tenant_permission_role_repository.py
- backend/app/enums/rbac.py
- backend/app/schemas/common/permission.py
- backend/app/schemas/common/auth.py
- backend/app/schemas/system/admin_permission_role.py
- backend/app/schemas/tenant/tenant_permission_role.py