mirror of https://github.com/jumpserver/jumpserver
[Bugfix] user login ip
parent
dad21cadb3
commit
29061aa088
|
@ -141,7 +141,9 @@ class StatusViewSet(viewsets.ModelViewSet):
|
|||
session = serializer.save()
|
||||
return session
|
||||
else:
|
||||
msg = "session data is not valid {}".format(serializer.errors)
|
||||
msg = "session data is not valid {}: {}".format(
|
||||
serializer.errors, str(serializer.data)
|
||||
)
|
||||
logger.error(msg)
|
||||
return None
|
||||
|
||||
|
|
|
@ -128,7 +128,11 @@ class UserAuthApi(APIView):
|
|||
user_agent = request.data.get('HTTP_USER_AGENT', '')
|
||||
|
||||
if not login_ip:
|
||||
login_ip = request.META.get('HTTP_X_FORWARDED_FOR') or request.META.get("REMOTE_ADDR")
|
||||
x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR').split()
|
||||
if x_forwarded_for:
|
||||
login_ip = x_forwarded_for[0]
|
||||
else:
|
||||
login_ip = request.META.get("REMOTE_ADDR")
|
||||
|
||||
user, msg = check_user_valid(
|
||||
username=username, password=password,
|
||||
|
|
|
@ -180,8 +180,9 @@ def validate_ip(ip):
|
|||
|
||||
def write_login_log(username, type='', ip='', user_agent=''):
|
||||
if not (ip and validate_ip(ip)):
|
||||
ip = '0.0.0.0'
|
||||
city = get_ip_city(ip)
|
||||
city = "Unknown"
|
||||
else:
|
||||
city = get_ip_city(ip)
|
||||
LoginLog.objects.create(
|
||||
username=username, type=type,
|
||||
ip=ip, city=city, user_agent=user_agent
|
||||
|
|
|
@ -53,8 +53,11 @@ class UserLoginView(FormView):
|
|||
if not self.request.session.test_cookie_worked():
|
||||
return HttpResponse(_("Please enable cookies and try again."))
|
||||
auth_login(self.request, form.get_user())
|
||||
login_ip = self.request.META.get('HTTP_X_FORWARDED_FOR') or \
|
||||
self.request.META.get('REMOTE_ADDR', '')
|
||||
x_forwarded_for = self.request.META.get('HTTP_X_FORWARDED_FOR', '').split()
|
||||
if x_forwarded_for:
|
||||
login_ip = x_forwarded_for[0]
|
||||
else:
|
||||
login_ip = self.request.META.get('REMOTE_ADDR', '')
|
||||
user_agent = self.request.META.get('HTTP_USER_AGENT', '')
|
||||
write_login_log_async.delay(
|
||||
self.request.user.username, type='W',
|
||||
|
|
Loading…
Reference in New Issue