perf: login acl review exclude reviewers contains self

This commit is contained in:
Bai
2026-05-12 19:13:43 +08:00
parent af53bda90f
commit 59b44094a1
2 changed files with 7 additions and 0 deletions

View File

@@ -20,6 +20,9 @@ class LoginACL(UserBaseACL):
def is_action(self, action):
return self.action == action
def is_user_in_reviewers(self, user):
return self.reviewers.filter(id=user.id).exists()
def create_confirm_ticket(self, request, user):
from tickets import const
from tickets.models import ApplyLoginTicket

View File

@@ -504,6 +504,10 @@ class AuthACLMixin:
return
if not acl.is_action(acl.ActionChoices.review):
return
if acl.is_user_in_reviewers(user):
# 如果用户在审核人列表中,则不需要审核,直接通过
# 避免管理员admin创建一条针对所有用户的复核规则导致admin自己也无法登录了
return
self.get_ticket_or_create(acl, user)
self.check_user_login_confirm()