mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-07-19 17:26:52 +00:00
perf: 优化登录提示
This commit is contained in:
parent
4e2c7d7aab
commit
822a124dbc
@ -223,10 +223,21 @@
|
|||||||
height: 13px;
|
height: 13px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.error-info {
|
||||||
|
font-size: 16px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
{% if not origin_is_allowed %}
|
||||||
|
<div class='alert alert-danger error-info'>
|
||||||
|
配置文件存在问题,无法完成登录,请联系管理员解决,或查看最新更新说明 <br/>
|
||||||
|
Configuration file has problems and cannot be logged in. Please contact the administrator
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
<div class="login-content extra-fields-{{ extra_fields_count }}">
|
<div class="login-content extra-fields-{{ extra_fields_count }}">
|
||||||
<div class="right-image-box">
|
<div class="right-image-box">
|
||||||
<a href="{% if not XPACK_ENABLED %}https://github.com/jumpserver/jumpserver.git{% endif %}">
|
<a href="{% if not XPACK_ENABLED %}https://github.com/jumpserver/jumpserver.git{% endif %}">
|
||||||
@ -309,7 +320,8 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<button type="submit" class="btn btn-transparent" onclick="doLogin();return false;">
|
<button type="submit" class="btn btn-transparent" onclick="doLogin();return false;"
|
||||||
|
{% if not origin_is_allowed %} disabled {% endif %}>
|
||||||
{% trans 'Login' %}
|
{% trans 'Login' %}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -134,6 +134,16 @@ class UserLoginContextMixin:
|
|||||||
count += 1
|
count += 1
|
||||||
return count
|
return count
|
||||||
|
|
||||||
|
def origin_is_allowed(self):
|
||||||
|
from urllib.parse import urlparse
|
||||||
|
http_referer = self.request.META.get('HTTP_REFERER')
|
||||||
|
try:
|
||||||
|
referer = urlparse(http_referer)
|
||||||
|
except ValueError:
|
||||||
|
return False
|
||||||
|
allowed_domains = settings.ALLOWED_DOMAINS
|
||||||
|
return referer.netloc in allowed_domains
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super().get_context_data(**kwargs)
|
context = super().get_context_data(**kwargs)
|
||||||
context.update({
|
context.update({
|
||||||
@ -143,6 +153,7 @@ class UserLoginContextMixin:
|
|||||||
'current_lang': self.get_current_lang(),
|
'current_lang': self.get_current_lang(),
|
||||||
'forgot_password_url': self.get_forgot_password_url(),
|
'forgot_password_url': self.get_forgot_password_url(),
|
||||||
'extra_fields_count': self.get_extra_fields_count(context),
|
'extra_fields_count': self.get_extra_fields_count(context),
|
||||||
|
'origin_is_allowed': self.origin_is_allowed(),
|
||||||
**self.get_user_mfa_context(self.request.user)
|
**self.get_user_mfa_context(self.request.user)
|
||||||
})
|
})
|
||||||
return context
|
return context
|
||||||
|
Loading…
Reference in New Issue
Block a user