优化权限控制
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user