From 1ae363d6bd2068c5051131adcef7cfd59c59516f Mon Sep 17 00:00:00 2001 From: wangruidong <940853815@qq.com> Date: Wed, 31 Jan 2024 16:38:11 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20MFA=E8=AE=A4=E8=AF=81App=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E8=87=AA=E5=AE=9A=E4=B9=89=E4=B8=8B=E8=BD=BD=E4=BA=8C?= =?UTF-8?q?=E7=BB=B4=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rewriting/storage/permissions.py | 1 + .../users/user_otp_enable_install_app.html | 10 ++++---- apps/users/views/profile/otp.py | 23 ++++++++++++++++++- 3 files changed, 29 insertions(+), 5 deletions(-) diff --git a/apps/jumpserver/rewriting/storage/permissions.py b/apps/jumpserver/rewriting/storage/permissions.py index 511545865..7d91c246f 100644 --- a/apps/jumpserver/rewriting/storage/permissions.py +++ b/apps/jumpserver/rewriting/storage/permissions.py @@ -3,6 +3,7 @@ path_perms_map = { 'xpack': '*', 'settings': '*', + 'img': '*', 'replay': 'default', 'applets': 'terminal.view_applet', 'virtual_apps': 'terminal.view_virtualapp', diff --git a/apps/users/templates/users/user_otp_enable_install_app.html b/apps/users/templates/users/user_otp_enable_install_app.html index 972c47c0f..3879dd024 100644 --- a/apps/users/templates/users/user_otp_enable_install_app.html +++ b/apps/users/templates/users/user_otp_enable_install_app.html @@ -14,22 +14,24 @@
{% trans 'Android downloads' %}
{% trans 'iPhone downloads' %}
{% trans 'After installation, click the next step to enter the binding page (if installed, go to the next step directly).' %}
+{% trans 'After installation, click the next step to enter the binding page (if installed, go to the next step directly).' %} +
{% trans 'Next' %} diff --git a/apps/users/views/profile/otp.py b/apps/users/views/profile/otp.py index a42a7a513..aca1251fc 100644 --- a/apps/users/views/profile/otp.py +++ b/apps/users/views/profile/otp.py @@ -1,10 +1,14 @@ # ~*~ coding: utf-8 ~*~ +import os +from django.conf import settings from django.contrib.auth import logout as auth_logout from django.http.response import HttpResponseRedirect from django.shortcuts import redirect +from django.templatetags.static import static from django.urls import reverse from django.utils.translation import gettext as _ +from django.utils._os import safe_join from django.views.generic.base import TemplateView from django.views.generic.edit import FormView @@ -45,9 +49,26 @@ class UserOtpEnableStartView(AuthMixin, TemplateView): class UserOtpEnableInstallAppView(TemplateView): template_name = 'users/user_otp_enable_install_app.html' + @staticmethod + def replace_authenticator_png(platform): + media_url = settings.MEDIA_URL + base_path = f'img/authenticator_{platform}.png' + authenticator_media_path = safe_join(settings.MEDIA_ROOT, base_path) + if os.path.exists(authenticator_media_path): + authenticator_url = f'{media_url}{base_path}' + else: + authenticator_url = static(base_path) + return authenticator_url + def get_context_data(self, **kwargs): user = get_user_or_pre_auth_user(self.request) - context = {'user': user} + authenticator_android_url = self.replace_authenticator_png('android') + authenticator_iphone_url = self.replace_authenticator_png('iphone') + context = { + 'user': user, + 'authenticator_android_url': authenticator_android_url, + 'authenticator_iphone_url': authenticator_iphone_url + } kwargs.update(context) return super().get_context_data(**kwargs)