From 8f67922c80de1925a9a48d8503462b0a5523d45f Mon Sep 17 00:00:00 2001 From: wangruidong <940853815@qq.com> Date: Mon, 25 Dec 2023 15:24:35 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E8=B5=84=E4=BA=A7=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E6=8F=90=E9=86=92=E5=92=8C=E7=94=A8=E6=88=B7=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E6=8F=90=E9=86=92=E8=83=BD=E6=98=BE=E7=A4=BA=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/acls/notifications.py | 9 ++++++--- apps/acls/templates/acls/asset_login_reminder.html | 6 +++--- apps/acls/templates/acls/user_login_reminder.html | 4 ++-- apps/audits/signal_handlers/login_log.py | 3 ++- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/apps/acls/notifications.py b/apps/acls/notifications.py index cf19b7a51..dc4db25ac 100644 --- a/apps/acls/notifications.py +++ b/apps/acls/notifications.py @@ -1,6 +1,7 @@ from django.template.loader import render_to_string from django.utils.translation import gettext_lazy as _ +from accounts.models import Account from assets.models import Asset from audits.models import UserLoginLog from notifications.notifications import UserMessage @@ -16,12 +17,11 @@ class UserLoginReminderMsg(UserMessage): def get_html_msg(self) -> dict: user_log = self.user_log - context = { 'ip': user_log.ip, 'city': user_log.city, 'username': user_log.username, - 'recipient': self.user.username, + 'recipient': self.user, 'user_agent': user_log.user_agent, } message = render_to_string('acls/user_login_reminder.html', context) @@ -48,11 +48,14 @@ class AssetLoginReminderMsg(UserMessage): super().__init__(user) def get_html_msg(self) -> dict: + account = Account.objects.get(asset=self.asset, username=self.account_username) context = { - 'recipient': self.user.username, + 'recipient': self.user, 'username': self.login_user.username, + 'name': self.login_user.name, 'asset': str(self.asset), 'account': self.account_username, + 'account_name': account.name, } message = render_to_string('acls/asset_login_reminder.html', context) diff --git a/apps/acls/templates/acls/asset_login_reminder.html b/apps/acls/templates/acls/asset_login_reminder.html index af836cab5..672c5e8de 100644 --- a/apps/acls/templates/acls/asset_login_reminder.html +++ b/apps/acls/templates/acls/asset_login_reminder.html @@ -1,10 +1,10 @@ {% load i18n %} -
{% trans 'Username' %}: [{{ username }}]
+{% trans 'User' %}: [{{ name }}({{ username }})]
{% trans 'Assets' %}: [{{ asset }}]
-{% trans 'Account' %}: [{{ account }}]
+{% trans 'Account' %}: [{{ account_name }}({{ account }})]
{% trans 'The user has just logged in to the asset. Please ensure that this is an authorized operation. If you suspect that this is an unauthorized access, please take appropriate measures immediately.' %}
diff --git a/apps/acls/templates/acls/user_login_reminder.html b/apps/acls/templates/acls/user_login_reminder.html index 3af4fd52a..fe4c1d9a9 100644 --- a/apps/acls/templates/acls/user_login_reminder.html +++ b/apps/acls/templates/acls/user_login_reminder.html @@ -1,8 +1,8 @@ {% load i18n %} -{% trans 'Username' %}: [{{ username }}]
+{% trans 'User' %}: [{{ username }}]
IP: [{{ ip }}]
{% trans 'Login city' %}: [{{ city }}]
{% trans 'User agent' %}: [{{ user_agent }}]
diff --git a/apps/audits/signal_handlers/login_log.py b/apps/audits/signal_handlers/login_log.py index 5829e4f5e..ea53716b4 100644 --- a/apps/audits/signal_handlers/login_log.py +++ b/apps/audits/signal_handlers/login_log.py @@ -122,7 +122,8 @@ def send_login_info_to_reviewers(instance: UserLoginLog | str, auth_acl_id): def on_user_auth_success(sender, user, request, login_type=None, **kwargs): logger.debug('User login success: {}'.format(user.username)) check_different_city_login_if_need(user, request) - data = generate_data(user.username, request, login_type=login_type) + username = f"{user.name}({user.username})" + data = generate_data(username, request, login_type=login_type) request.session['login_time'] = data['datetime'].strftime('%Y-%m-%d %H:%M:%S') data.update({'mfa': int(user.mfa_enabled), 'status': True}) instance = write_login_log(**data)