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()
|
session = serializer.save()
|
||||||
return session
|
return session
|
||||||
else:
|
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)
|
logger.error(msg)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
|
@ -128,7 +128,11 @@ class UserAuthApi(APIView):
|
||||||
user_agent = request.data.get('HTTP_USER_AGENT', '')
|
user_agent = request.data.get('HTTP_USER_AGENT', '')
|
||||||
|
|
||||||
if not login_ip:
|
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(
|
user, msg = check_user_valid(
|
||||||
username=username, password=password,
|
username=username, password=password,
|
||||||
|
|
|
@ -180,8 +180,9 @@ def validate_ip(ip):
|
||||||
|
|
||||||
def write_login_log(username, type='', ip='', user_agent=''):
|
def write_login_log(username, type='', ip='', user_agent=''):
|
||||||
if not (ip and validate_ip(ip)):
|
if not (ip and validate_ip(ip)):
|
||||||
ip = '0.0.0.0'
|
city = "Unknown"
|
||||||
city = get_ip_city(ip)
|
else:
|
||||||
|
city = get_ip_city(ip)
|
||||||
LoginLog.objects.create(
|
LoginLog.objects.create(
|
||||||
username=username, type=type,
|
username=username, type=type,
|
||||||
ip=ip, city=city, user_agent=user_agent
|
ip=ip, city=city, user_agent=user_agent
|
||||||
|
|
|
@ -53,8 +53,11 @@ class UserLoginView(FormView):
|
||||||
if not self.request.session.test_cookie_worked():
|
if not self.request.session.test_cookie_worked():
|
||||||
return HttpResponse(_("Please enable cookies and try again."))
|
return HttpResponse(_("Please enable cookies and try again."))
|
||||||
auth_login(self.request, form.get_user())
|
auth_login(self.request, form.get_user())
|
||||||
login_ip = self.request.META.get('HTTP_X_FORWARDED_FOR') or \
|
x_forwarded_for = self.request.META.get('HTTP_X_FORWARDED_FOR', '').split()
|
||||||
self.request.META.get('REMOTE_ADDR', '')
|
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', '')
|
user_agent = self.request.META.get('HTTP_USER_AGENT', '')
|
||||||
write_login_log_async.delay(
|
write_login_log_async.delay(
|
||||||
self.request.user.username, type='W',
|
self.request.user.username, type='W',
|
||||||
|
|
Loading…
Reference in New Issue