mirror of
https://github.com/jumpserver/jumpserver.git
synced 2026-07-02 07:01:30 +00:00
perf: login acl review exclude reviewers contains self
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user