fix: 防自锁 — 操作者修改自己角色时强制保留 system_permission + system_permission:operation
This commit is contained in:
@ -79,6 +79,14 @@ def assign_perms():
|
||||
role_code = data.get('role_code')
|
||||
permissions = data.get('permissions', [])
|
||||
|
||||
# ★ 防自锁:操作者修改自己角色时,强制保留权限管理的关键权限
|
||||
claims = get_jwt()
|
||||
operator_role = claims.get('role', '')
|
||||
if operator_role and operator_role.upper() == role_code.upper():
|
||||
for required in ('system_permission', 'system_permission:operation'):
|
||||
if required not in permissions:
|
||||
permissions.append(required)
|
||||
|
||||
company_name = _get_operator_company()
|
||||
PermissionService.assign_permissions(role_code, permissions, company_name=company_name)
|
||||
return jsonify({'code': 200, 'msg': '保存成功'}), 200
|
||||
|
||||
Reference in New Issue
Block a user