优化权限控制

This commit is contained in:
yml2213
2026-06-22 17:07:29 +08:00
parent 480dfa6085
commit 8771d91a30
18 changed files with 222 additions and 16 deletions
+10 -1
View File
@@ -48,7 +48,6 @@ ROLE_PERMISSIONS = {
],
"support": [
"account:view_assigned",
"login:view_assigned",
],
}
@@ -65,6 +64,16 @@ def get_role_permissions(role: str) -> list[str]:
return ROLE_PERMISSIONS.get(role, [])
def get_user_permissions(user) -> list[str]:
"""获取用户的实际权限列表。
优先使用用户自定义权限(custom_permissions),
若为 None 则回退到角色默认权限。
"""
if user.custom_permissions is not None:
return user.custom_permissions
return get_role_permissions(user.role)
def has_permission(role: str, permission: str) -> bool:
"""检查角色是否拥有某权限。"""
return permission in get_role_permissions(role)