-
Notifications
You must be signed in to change notification settings - Fork 502
fix: SUPER_ADMIN 无法审核自己提出的提升请求 #509
Copy link
Copy link
Labels
effort/l大改动或高风险改动,需要 maintainer 负责 / Large or risky change requiring maintainer ownership.大改动或高风险改动,需要 maintainer 负责 / Large or risky change requiring maintainer ownership.priority/p3低优先级 / Low priority triage bucket.低优先级 / Low priority triage bucket.triage/needs-info需要补充更多信息后才能分流 / Issue needs more detail before it can be routed.需要补充更多信息后才能分流 / Issue needs more detail before it can be routed.
Metadata
Metadata
Assignees
Labels
effort/l大改动或高风险改动,需要 maintainer 负责 / Large or risky change requiring maintainer ownership.大改动或高风险改动,需要 maintainer 负责 / Large or risky change requiring maintainer ownership.priority/p3低优先级 / Low priority triage bucket.低优先级 / Low priority triage bucket.triage/needs-info需要补充更多信息后才能分流 / Issue needs more detail before it can be routed.需要补充更多信息后才能分流 / Issue needs more detail before it can be routed.
Type
Fields
Give feedbackNo fields configured for issues without a type.
问题描述
我发现 SUPER_ADMIN 提出的提升请求(promotion request),SUPER_ADMIN 自己无法审核批准。理论上 SUPER_ADMIN 应该拥有系统的所有权限能力,包括有资格审核自己提交的提升请求。
复现步骤
根因分析
ReviewPermissionChecker.canReviewPromotion()中,当请求的提交者和审核者是同一人时,无条件返回false,连 SUPER_ADMIN 也不放过:而普通审核的对应方法
canReview()对 SUPER_ADMIN 有豁免:既然 SUPER_ADMIN 拥有系统所有权限,提升审核的自我审核限制对 SUPER_ADMIN 不应生效。
修复方案
将第 111 行的
return false;改为return platformRoles.contains("SUPER_ADMIN");,与canReview()保持一致。