|
@@ -2251,9 +2251,9 @@ class v3LoginView(TemplateView):
|
|
was_limited = getattr(request, 'limited', False)
|
|
was_limited = getattr(request, 'limited', False)
|
|
if was_limited is True:
|
|
if was_limited is True:
|
|
return response.json(5)
|
|
return response.json(5)
|
|
- return self.validates(request_dict, response)
|
|
|
|
|
|
+ return self.validates(request_dict, response, request)
|
|
|
|
|
|
- def validates(self, request_dict, response):
|
|
|
|
|
|
+ def validates(self, request_dict, response, request):
|
|
username = request_dict.get('userName', None)
|
|
username = request_dict.get('userName', None)
|
|
password = request_dict.get('userPwd', None)
|
|
password = request_dict.get('userPwd', None)
|
|
password_version = request_dict.get('pwdVersion', 'V1')
|
|
password_version = request_dict.get('pwdVersion', 'V1')
|
|
@@ -2290,30 +2290,31 @@ class v3LoginView(TemplateView):
|
|
print(repr(e))
|
|
print(repr(e))
|
|
return response.json(111)
|
|
return response.json(111)
|
|
else:
|
|
else:
|
|
|
|
+ ip = CommonService.get_ip_address(request)
|
|
data_valid = DataValid()
|
|
data_valid = DataValid()
|
|
if data_valid.email_validate(username):
|
|
if data_valid.email_validate(username):
|
|
- return self.do_email_login(username, password, response, subscribe, number, request_dict)
|
|
|
|
|
|
+ return self.do_email_login(username, password, response, subscribe, number, request_dict, ip)
|
|
elif data_valid.mobile_validate(username):
|
|
elif data_valid.mobile_validate(username):
|
|
- return self.do_phone_login(username, password, response, subscribe, number, request_dict)
|
|
|
|
|
|
+ return self.do_phone_login(username, password, response, subscribe, number, request_dict, ip)
|
|
elif data_valid.name_validate(username):
|
|
elif data_valid.name_validate(username):
|
|
- return self.do_name_login(username, password, response, subscribe, number, request_dict)
|
|
|
|
|
|
+ return self.do_name_login(username, password, response, subscribe, number, request_dict, ip)
|
|
else:
|
|
else:
|
|
return response.json(107)
|
|
return response.json(107)
|
|
|
|
|
|
- def do_email_login(self, email, password, response, subscribe, number, request_dict):
|
|
|
|
|
|
+ def do_email_login(self, email, password, response, subscribe, number, request_dict, ip):
|
|
user_qs = Device_User.objects.filter(Q(username=email) | Q(userEmail=email))
|
|
user_qs = Device_User.objects.filter(Q(username=email) | Q(userEmail=email))
|
|
- return self.valid_login(user_qs, password, response, subscribe, number, request_dict)
|
|
|
|
|
|
+ return self.valid_login(user_qs, password, response, subscribe, number, request_dict, ip)
|
|
|
|
|
|
- def do_phone_login(self, phone, password, response, subscribe, number, request_dict):
|
|
|
|
|
|
+ def do_phone_login(self, phone, password, response, subscribe, number, request_dict, ip):
|
|
user_qs = Device_User.objects.filter(Q(phone=phone) | Q(username=phone), is_active=True, user_isValid=True)
|
|
user_qs = Device_User.objects.filter(Q(phone=phone) | Q(username=phone), is_active=True, user_isValid=True)
|
|
- return self.valid_login(user_qs, password, response, subscribe, number, request_dict)
|
|
|
|
|
|
+ return self.valid_login(user_qs, password, response, subscribe, number, request_dict, ip)
|
|
|
|
|
|
- def do_name_login(self, username, password, response, subscribe, number, request_dict):
|
|
|
|
|
|
+ def do_name_login(self, username, password, response, subscribe, number, request_dict, ip):
|
|
user_qs = Device_User.objects.filter(Q(username=username) | Q(phone=username) | Q(userEmail=username),
|
|
user_qs = Device_User.objects.filter(Q(username=username) | Q(phone=username) | Q(userEmail=username),
|
|
is_active=True, user_isValid=True)
|
|
is_active=True, user_isValid=True)
|
|
- return self.valid_login(user_qs, password, response, subscribe, number, request_dict)
|
|
|
|
|
|
+ return self.valid_login(user_qs, password, response, subscribe, number, request_dict, ip)
|
|
|
|
|
|
- def valid_login(self, user_qs, password, response, subscribe, number, request_dict):
|
|
|
|
|
|
+ def valid_login(self, user_qs, password, response, subscribe, number, request_dict, ip):
|
|
password_version = request_dict.get('pwdVersion', 'V1')
|
|
password_version = request_dict.get('pwdVersion', 'V1')
|
|
salt = request_dict.get('salt', None)
|
|
salt = request_dict.get('salt', None)
|
|
iterations = request_dict.get('iterations', None)
|
|
iterations = request_dict.get('iterations', None)
|
|
@@ -2405,6 +2406,21 @@ class v3LoginView(TemplateView):
|
|
res['authType'] = auth_type
|
|
res['authType'] = auth_type
|
|
res['subscribe_email'] = users['subscribe_email'] if users['subscribe_email'] is not None else ''
|
|
res['subscribe_email'] = users['subscribe_email'] if users['subscribe_email'] is not None else ''
|
|
res['region'] = region_qs[0]['country_name'] if region_qs.exists() else ''
|
|
res['region'] = region_qs[0]['country_name'] if region_qs.exists() else ''
|
|
|
|
+
|
|
|
|
+ # 记录操作日志
|
|
|
|
+ username = CommonService.get_username(userID)
|
|
|
|
+ content = json.loads(json.dumps(request_dict))
|
|
|
|
+ log = {
|
|
|
|
+ 'ip': ip,
|
|
|
|
+ 'user_id': 1,
|
|
|
|
+ 'status': 200,
|
|
|
|
+ 'time': int(time.time()),
|
|
|
|
+ 'content': json.dumps(content),
|
|
|
|
+ 'url': 'v3/account/login',
|
|
|
|
+ 'operation': '{}用户登录成功'.format(username),
|
|
|
|
+ }
|
|
|
|
+ LogModel.objects.create(**log)
|
|
|
|
+
|
|
return response.json(0, res)
|
|
return response.json(0, res)
|
|
|
|
|
|
|
|
|