mirror of https://github.com/jumpserver/jumpserver
perf: 修改其它获取ip函数
parent
cc656a8a97
commit
e5e3289dc1
|
@ -1,7 +1,7 @@
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from .base import BaseACL, BaseACLQuerySet
|
from .base import BaseACL, BaseACLQuerySet
|
||||||
from common.utils import get_request_ip, get_ip_city
|
from common.utils import get_request_ip_or_data, get_ip_city
|
||||||
from common.utils.ip import contains_ip
|
from common.utils.ip import contains_ip
|
||||||
from common.utils.time_period import contains_time_period
|
from common.utils.time_period import contains_time_period
|
||||||
from common.utils.timezone import local_now_display
|
from common.utils.timezone import local_now_display
|
||||||
|
@ -73,7 +73,7 @@ class LoginACL(BaseACL):
|
||||||
from tickets.models import ApplyLoginTicket
|
from tickets.models import ApplyLoginTicket
|
||||||
from orgs.models import Organization
|
from orgs.models import Organization
|
||||||
title = _('Login confirm') + ' {}'.format(self.user)
|
title = _('Login confirm') + ' {}'.format(self.user)
|
||||||
login_ip = get_request_ip(request) if request else ''
|
login_ip = get_request_ip_or_data(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()
|
||||||
|
|
|
@ -4,7 +4,7 @@ from django.db import transaction
|
||||||
from django.core.cache import cache
|
from django.core.cache import cache
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
from common.utils import get_request_ip, get_logger
|
from common.utils import get_request_ip_or_data, get_logger
|
||||||
from common.utils.timezone import as_current_tz
|
from common.utils.timezone import as_current_tz
|
||||||
from common.utils.encode import Singleton
|
from common.utils.encode import Singleton
|
||||||
from common.local import encrypted_field_set
|
from common.local import encrypted_field_set
|
||||||
|
@ -15,7 +15,6 @@ from orgs.utils import get_current_org_id
|
||||||
|
|
||||||
from .backends import get_operate_log_storage
|
from .backends import get_operate_log_storage
|
||||||
|
|
||||||
|
|
||||||
logger = get_logger(__name__)
|
logger = get_logger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
@ -156,7 +155,7 @@ class OperatorLogHandler(metaclass=Singleton):
|
||||||
if not user or not user.is_authenticated:
|
if not user or not user.is_authenticated:
|
||||||
return
|
return
|
||||||
|
|
||||||
remote_addr = get_request_ip(current_request)
|
remote_addr = get_request_ip_or_data(current_request)
|
||||||
resource_display = self.get_resource_display(resource)
|
resource_display = self.get_resource_display(resource)
|
||||||
before, after = self.data_processing(before, after)
|
before, after = self.data_processing(before, after)
|
||||||
if not force and not any([before, after]):
|
if not force and not any([before, after]):
|
||||||
|
|
|
@ -38,10 +38,9 @@ from .const import MODELS_NEED_RECORD
|
||||||
from terminal.backends.command.serializers import SessionCommandSerializer
|
from terminal.backends.command.serializers import SessionCommandSerializer
|
||||||
from terminal.serializers import SessionSerializer
|
from terminal.serializers import SessionSerializer
|
||||||
from common.const.signals import POST_ADD, POST_REMOVE, POST_CLEAR, SKIP_SIGNAL
|
from common.const.signals import POST_ADD, POST_REMOVE, POST_CLEAR, SKIP_SIGNAL
|
||||||
from common.utils import get_request_ip, get_logger, get_syslogger
|
from common.utils import get_request_ip_or_data, get_logger, get_syslogger
|
||||||
from common.utils.encode import data_to_json
|
from common.utils.encode import data_to_json
|
||||||
|
|
||||||
|
|
||||||
logger = get_logger(__name__)
|
logger = get_logger(__name__)
|
||||||
sys_logger = get_syslogger(__name__)
|
sys_logger = get_syslogger(__name__)
|
||||||
json_render = JSONRenderer()
|
json_render = JSONRenderer()
|
||||||
|
@ -198,7 +197,7 @@ def on_user_change_password(sender, user=None, **kwargs):
|
||||||
remote_addr = '127.0.0.1'
|
remote_addr = '127.0.0.1'
|
||||||
change_by = 'System'
|
change_by = 'System'
|
||||||
else:
|
else:
|
||||||
remote_addr = get_request_ip(current_request)
|
remote_addr = get_request_ip_or_data(current_request)
|
||||||
if not current_request.user.is_authenticated:
|
if not current_request.user.is_authenticated:
|
||||||
change_by = str(user)
|
change_by = str(user)
|
||||||
else:
|
else:
|
||||||
|
@ -250,7 +249,7 @@ def get_login_backend(request):
|
||||||
|
|
||||||
def generate_data(username, request, login_type=None):
|
def generate_data(username, request, login_type=None):
|
||||||
user_agent = request.META.get('HTTP_USER_AGENT', '')
|
user_agent = request.META.get('HTTP_USER_AGENT', '')
|
||||||
login_ip = get_request_ip(request) or '0.0.0.0'
|
login_ip = get_request_ip_or_data(request) or '0.0.0.0'
|
||||||
|
|
||||||
if login_type is None and isinstance(request, Request):
|
if login_type is None and isinstance(request, Request):
|
||||||
login_type = request.META.get('HTTP_X_JMS_LOGIN_TYPE', 'U')
|
login_type = request.META.get('HTTP_X_JMS_LOGIN_TYPE', 'U')
|
||||||
|
|
|
@ -9,7 +9,7 @@ from django.contrib.auth import logout as auth_logout
|
||||||
|
|
||||||
from apps.authentication import mixins
|
from apps.authentication import mixins
|
||||||
from common.utils import gen_key_pair
|
from common.utils import gen_key_pair
|
||||||
from common.utils import get_request_ip
|
from common.utils import get_request_ip_or_data
|
||||||
from .signals import post_auth_failed
|
from .signals import post_auth_failed
|
||||||
|
|
||||||
|
|
||||||
|
@ -73,7 +73,7 @@ class ThirdPartyLoginMiddleware(mixins.AuthMixin):
|
||||||
if request.path.find(url) > -1:
|
if request.path.find(url) > -1:
|
||||||
return response
|
return response
|
||||||
|
|
||||||
ip = get_request_ip(request)
|
ip = get_request_ip_or_data(request)
|
||||||
try:
|
try:
|
||||||
self.request = request
|
self.request = request
|
||||||
self._check_login_acl(request.user, ip)
|
self._check_login_acl(request.user, ip)
|
||||||
|
|
|
@ -6,7 +6,7 @@ from urllib.parse import urljoin, urlparse
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
from common.utils import validate_ip, get_ip_city, get_request_ip
|
from common.utils import validate_ip, get_ip_city, get_request_ip_or_data
|
||||||
from common.utils import get_logger
|
from common.utils import get_logger
|
||||||
from audits.models import UserLoginLog
|
from audits.models import UserLoginLog
|
||||||
from audits.const import DEFAULT_CITY
|
from audits.const import DEFAULT_CITY
|
||||||
|
@ -19,7 +19,7 @@ def check_different_city_login_if_need(user, request):
|
||||||
if not settings.SECURITY_CHECK_DIFFERENT_CITY_LOGIN:
|
if not settings.SECURITY_CHECK_DIFFERENT_CITY_LOGIN:
|
||||||
return
|
return
|
||||||
|
|
||||||
ip = get_request_ip(request) or '0.0.0.0'
|
ip = get_request_ip_or_data(request) or '0.0.0.0'
|
||||||
if not (ip and validate_ip(ip)):
|
if not (ip and validate_ip(ip)):
|
||||||
city = DEFAULT_CITY
|
city = DEFAULT_CITY
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -20,13 +20,12 @@ from authentication import errors
|
||||||
from authentication.mixins import AuthMixin
|
from authentication.mixins import AuthMixin
|
||||||
from authentication.const import ConfirmType
|
from authentication.const import ConfirmType
|
||||||
from common.sdk.im.dingtalk import DingTalk
|
from common.sdk.im.dingtalk import DingTalk
|
||||||
from common.utils.common import get_request_ip
|
from common.utils.common import get_request_ip_or_data
|
||||||
from authentication.notifications import OAuthBindMessage
|
from authentication.notifications import OAuthBindMessage
|
||||||
from .mixins import METAMixin
|
from .mixins import METAMixin
|
||||||
|
|
||||||
logger = get_logger(__file__)
|
logger = get_logger(__file__)
|
||||||
|
|
||||||
|
|
||||||
DINGTALK_STATE_SESSION_KEY = '_dingtalk_state'
|
DINGTALK_STATE_SESSION_KEY = '_dingtalk_state'
|
||||||
|
|
||||||
|
|
||||||
|
@ -175,7 +174,7 @@ class DingTalkQRBindCallbackView(DingTalkQRMixin, View):
|
||||||
return response
|
return response
|
||||||
raise e
|
raise e
|
||||||
|
|
||||||
ip = get_request_ip(request)
|
ip = get_request_ip_or_data(request)
|
||||||
OAuthBindMessage(user, ip, _('DingTalk'), user_id).publish_async()
|
OAuthBindMessage(user, ip, _('DingTalk'), user_id).publish_async()
|
||||||
msg = _('Binding DingTalk successfully')
|
msg = _('Binding DingTalk successfully')
|
||||||
response = self.get_success_response(redirect_url, msg, msg)
|
response = self.get_success_response(redirect_url, msg, msg)
|
||||||
|
|
|
@ -16,7 +16,7 @@ from common.utils.django import reverse, get_object_or_none
|
||||||
from common.mixins.views import UserConfirmRequiredExceptionMixin, PermissionsMixin
|
from common.mixins.views import UserConfirmRequiredExceptionMixin, PermissionsMixin
|
||||||
from common.permissions import UserConfirmation
|
from common.permissions import UserConfirmation
|
||||||
from common.sdk.im.feishu import FeiShu, URL
|
from common.sdk.im.feishu import FeiShu, URL
|
||||||
from common.utils.common import get_request_ip
|
from common.utils.common import get_request_ip_or_data
|
||||||
from authentication import errors
|
from authentication import errors
|
||||||
from authentication.const import ConfirmType
|
from authentication.const import ConfirmType
|
||||||
from authentication.mixins import AuthMixin
|
from authentication.mixins import AuthMixin
|
||||||
|
@ -24,7 +24,6 @@ from authentication.notifications import OAuthBindMessage
|
||||||
|
|
||||||
logger = get_logger(__file__)
|
logger = get_logger(__file__)
|
||||||
|
|
||||||
|
|
||||||
FEISHU_STATE_SESSION_KEY = '_feishu_state'
|
FEISHU_STATE_SESSION_KEY = '_feishu_state'
|
||||||
|
|
||||||
|
|
||||||
|
@ -140,7 +139,7 @@ class FeiShuQRBindCallbackView(FeiShuQRMixin, View):
|
||||||
return response
|
return response
|
||||||
raise e
|
raise e
|
||||||
|
|
||||||
ip = get_request_ip(request)
|
ip = get_request_ip_or_data(request)
|
||||||
OAuthBindMessage(user, ip, _('FeiShu'), user_id).publish_async()
|
OAuthBindMessage(user, ip, _('FeiShu'), user_id).publish_async()
|
||||||
msg = _('Binding FeiShu successfully')
|
msg = _('Binding FeiShu successfully')
|
||||||
response = self.get_success_response(redirect_url, msg, msg)
|
response = self.get_success_response(redirect_url, msg, msg)
|
||||||
|
|
|
@ -16,7 +16,7 @@ from common.utils.django import reverse, get_object_or_none
|
||||||
from common.sdk.im.wecom import URL
|
from common.sdk.im.wecom import URL
|
||||||
from common.sdk.im.wecom import WeCom
|
from common.sdk.im.wecom import WeCom
|
||||||
from common.mixins.views import UserConfirmRequiredExceptionMixin, PermissionsMixin
|
from common.mixins.views import UserConfirmRequiredExceptionMixin, PermissionsMixin
|
||||||
from common.utils.common import get_request_ip
|
from common.utils.common import get_request_ip_or_data
|
||||||
from common.permissions import UserConfirmation
|
from common.permissions import UserConfirmation
|
||||||
from authentication import errors
|
from authentication import errors
|
||||||
from authentication.mixins import AuthMixin
|
from authentication.mixins import AuthMixin
|
||||||
|
@ -26,7 +26,6 @@ from .mixins import METAMixin
|
||||||
|
|
||||||
logger = get_logger(__file__)
|
logger = get_logger(__file__)
|
||||||
|
|
||||||
|
|
||||||
WECOM_STATE_SESSION_KEY = '_wecom_state'
|
WECOM_STATE_SESSION_KEY = '_wecom_state'
|
||||||
|
|
||||||
|
|
||||||
|
@ -174,7 +173,7 @@ class WeComQRBindCallbackView(WeComQRMixin, View):
|
||||||
return response
|
return response
|
||||||
raise e
|
raise e
|
||||||
|
|
||||||
ip = get_request_ip(request)
|
ip = get_request_ip_or_data(request)
|
||||||
OAuthBindMessage(user, ip, _('WeCom'), wecom_userid).publish_async()
|
OAuthBindMessage(user, ip, _('WeCom'), wecom_userid).publish_async()
|
||||||
msg = _('Binding WeCom successfully')
|
msg = _('Binding WeCom successfully')
|
||||||
response = self.get_success_response(redirect_url, msg, msg)
|
response = self.get_success_response(redirect_url, msg, msg)
|
||||||
|
|
|
@ -4,7 +4,7 @@ from django.utils.translation import ugettext_lazy as _
|
||||||
from common.drf.serializers import BulkModelSerializer, AdaptedBulkListSerializer
|
from common.drf.serializers import BulkModelSerializer, AdaptedBulkListSerializer
|
||||||
from common.utils import is_uuid
|
from common.utils import is_uuid
|
||||||
from users.serializers import ServiceAccountSerializer
|
from users.serializers import ServiceAccountSerializer
|
||||||
from common.utils import get_request_ip, pretty_string
|
from common.utils import get_request_ip_or_data, pretty_string
|
||||||
from .. import const
|
from .. import const
|
||||||
|
|
||||||
from ..models import (
|
from ..models import (
|
||||||
|
@ -129,7 +129,7 @@ class TerminalRegistrationSerializer(serializers.ModelSerializer):
|
||||||
request = self.context.get('request')
|
request = self.context.get('request')
|
||||||
instance.is_accepted = True
|
instance.is_accepted = True
|
||||||
if request:
|
if request:
|
||||||
instance.remote_addr = get_request_ip(request)
|
instance.remote_addr = get_request_ip_or_data(request)
|
||||||
sa = self.service_account.create(validated_data)
|
sa = self.service_account.create(validated_data)
|
||||||
sa.system_roles.add_role_system_component()
|
sa.system_roles.add_role_system_component()
|
||||||
instance.user = sa
|
instance.user = sa
|
||||||
|
|
Loading…
Reference in New Issue