mirror of https://github.com/jumpserver/jumpserver
Merge pull request #10689 from jumpserver/pr@dev@perf_ticket_request_login
perf: 优化登录 ticket 创建pull/10697/head
commit
499c52800e
|
@ -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,
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue