Merge pull request #10689 from jumpserver/pr@dev@perf_ticket_request_login

perf: 优化登录 ticket 创建
pull/10697/head
老广 2023-06-13 10:03:36 +08:00 committed by GitHub
commit 499c52800e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 6 deletions

View File

@ -20,18 +20,18 @@ class LoginACL(UserBaseACL):
def is_action(self, action): def is_action(self, action):
return self.action == action return self.action == action
def create_confirm_ticket(self, request): def create_confirm_ticket(self, request, user):
from tickets import const from tickets import const
from tickets.models import ApplyLoginTicket from tickets.models import ApplyLoginTicket
from orgs.models import Organization from orgs.models import Organization
title = _('Login confirm') + ' {}'.format(request.user) title = _('Login confirm') + ' {}'.format(user)
login_ip = get_request_ip(request) if request else '' login_ip = get_request_ip(request) if request else ''
login_ip = login_ip or '0.0.0.0' login_ip = login_ip or '0.0.0.0'
login_city = get_ip_city(login_ip) login_city = get_ip_city(login_ip)
login_datetime = local_now_display() login_datetime = local_now_display()
data = { data = {
'title': title, 'title': title,
'applicant': request.user, 'applicant': user,
'apply_login_ip': login_ip, 'apply_login_ip': login_ip,
'org_id': Organization.ROOT_ID, 'org_id': Organization.ROOT_ID,
'apply_login_city': login_city, 'apply_login_city': login_city,

View File

@ -375,13 +375,13 @@ class AuthACLMixin:
return return
if not acl.is_action(acl.ActionChoices.review): if not acl.is_action(acl.ActionChoices.review):
return return
self.get_ticket_or_create(acl) self.get_ticket_or_create(acl, user)
self.check_user_login_confirm() self.check_user_login_confirm()
def get_ticket_or_create(self, acl): def get_ticket_or_create(self, acl, user):
ticket = self.get_ticket() ticket = self.get_ticket()
if not ticket or ticket.is_state(ticket.State.closed): if not ticket or ticket.is_state(ticket.State.closed):
ticket = acl.create_confirm_ticket(self.request) ticket = acl.create_confirm_ticket(self.request, user)
self.request.session['auth_ticket_id'] = str(ticket.id) self.request.session['auth_ticket_id'] = str(ticket.id)
return ticket return ticket