Files
live-hub-py/web/backend/permissions.py
T
2026-06-22 13:11:15 +08:00

71 lines
2.0 KiB
Python

"""权限点定义与角色默认权限"""
# ---- 权限点 ----
PERMISSIONS = {
# 用户管理
"user:view": "查看用户列表",
"user:create": "创建用户",
"user:edit": "编辑用户",
"user:delete": "删除用户",
"user:assign_permissions": "分配权限",
# 账号管理
"account:view_all": "查看所有账号(完整字段)",
"account:view_assigned": "查看分配给自己的账号(仅用户名)",
"account:import": "导入账号",
"account:assign": "分配账号给客服",
"account:delete": "删除账号",
# 登录任务
"login:batch": "发起批量登录",
"login:view_all": "查看所有登录任务",
"login:view_assigned": "查看自己账号的登录任务",
# Cookie
"cookie:view": "查看 Cookie",
"cookie:export": "导出 Cookie",
# 代理 & 白名单
"proxy:manage": "代理配置管理",
"whitelist:manage": "白名单配置管理",
"whitelist:test": "测试白名单",
# 系统
"system:settings": "系统设置",
"audit:view": "查看审计日志",
}
# ---- 角色默认权限 ----
ROLE_PERMISSIONS = {
"super_admin": list(PERMISSIONS.keys()), # 全部权限
"operation": [
"account:view_all",
"account:import",
"account:assign",
"account:delete",
"login:batch",
"login:view_all",
"cookie:view",
"cookie:export",
"proxy:manage",
"whitelist:manage",
"whitelist:test",
],
"support": [
"account:view_assigned",
"login:view_assigned",
],
}
# 角色中文映射
ROLE_LABELS = {
"super_admin": "超级管理员",
"operation": "运营",
"support": "客服",
}
def get_role_permissions(role: str) -> list[str]:
"""获取角色拥有的权限列表。"""
return ROLE_PERMISSIONS.get(role, [])
def has_permission(role: str, permission: str) -> bool:
"""检查角色是否拥有某权限。"""
return permission in get_role_permissions(role)