|
@@ -43,41 +43,46 @@ class LoginView(TemplateView):
|
|
|
def validates(self, request_dict, response):
|
|
|
username = request_dict.get('username', None)
|
|
|
password = request_dict.get('password', None)
|
|
|
+ password_version = request_dict.get('pwdVersion', 'V1')
|
|
|
if not username or not password:
|
|
|
return response.json(111)
|
|
|
username = username.strip()
|
|
|
password = password.strip()
|
|
|
data_valid = DataValid()
|
|
|
if data_valid.email_validate(username):
|
|
|
- return self.do_email_login(username, password, response)
|
|
|
+ return self.do_email_login(username, password, response, password_version)
|
|
|
elif data_valid.mobile_validate(username):
|
|
|
- return self.do_phone_login(username, password, response)
|
|
|
+ return self.do_phone_login(username, password, response, password_version)
|
|
|
elif data_valid.name_validate(username):
|
|
|
- return self.do_name_login(username, password, response)
|
|
|
+ return self.do_name_login(username, password, response, password_version)
|
|
|
else:
|
|
|
return response.json(107)
|
|
|
|
|
|
- def do_email_login(self, email, password, response):
|
|
|
+ def do_email_login(self, email, password, response, password_version):
|
|
|
user_qs = Device_User.objects.filter(Q(username=email) | Q(userEmail=email))
|
|
|
- return self.valid_login(user_qs, password, response)
|
|
|
+ return self.valid_login(user_qs, password, response, password_version)
|
|
|
|
|
|
- def do_phone_login(self, phone, password, response):
|
|
|
+ def do_phone_login(self, phone, password, response, password_version):
|
|
|
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)
|
|
|
+ return self.valid_login(user_qs, password, response, password_version)
|
|
|
|
|
|
- def do_name_login(self, username, password, response):
|
|
|
+ def do_name_login(self, username, password, response, password_version):
|
|
|
user_qs = Device_User.objects.filter(Q(username=username) | Q(phone=username) | Q(userEmail=username),
|
|
|
is_active=True, user_isValid=True)
|
|
|
- return self.valid_login(user_qs, password, response)
|
|
|
+ return self.valid_login(user_qs, password, response, password_version)
|
|
|
|
|
|
- def valid_login(self, user_qs, password, response):
|
|
|
+ def valid_login(self, user_qs, password, response, password_version):
|
|
|
if not user_qs.exists():
|
|
|
return response.json(104)
|
|
|
# users = user_qs.values('role__rid', 'role__roleName', 'userID', 'role', 'NickName', 'username', 'userEmail',
|
|
|
# 'phone', 'password', 'userIconPath', 'user_isValid', 'is_active')[0]
|
|
|
users = user_qs.values('role__rid', 'role__roleName', 'userID', 'NickName', 'username', 'userEmail',
|
|
|
'phone', 'password', 'userIconPath')[0]
|
|
|
- if not check_password(password, users['password']):
|
|
|
+ if password_version == 'V1':
|
|
|
+ check_flag = check_password(password, users['password'])
|
|
|
+ else:
|
|
|
+ check_flag = CommonService.check_password(password, users['password'])
|
|
|
+ if not check_flag:
|
|
|
return response.json(111)
|
|
|
userID = users['userID']
|
|
|
tko = TokenObject(returntpye='pc')
|
|
@@ -415,6 +420,7 @@ class UserManagement(View):
|
|
|
roleName = request_dict.get('role', None)
|
|
|
password = request_dict.get('password', None)
|
|
|
isEdit = request_dict.get('isEdit', None)
|
|
|
+ password_version = request_dict.get('pwdVersion', 'V1')
|
|
|
|
|
|
# 校验用户名,邮箱,密码是否符合规则
|
|
|
dataValid = DataValid()
|
|
@@ -425,7 +431,8 @@ class UserManagement(View):
|
|
|
if not isEdit: # 添加用户需要输入密码
|
|
|
if not password or not dataValid.password_validate(password):
|
|
|
return response.json(444, {'Parameter error': 'password'})
|
|
|
-
|
|
|
+ if password_version == 'V1':
|
|
|
+ password = make_password(password)
|
|
|
try:
|
|
|
if isEdit: # 编辑用户信息
|
|
|
userID = request_dict.get('userID')
|
|
@@ -454,7 +461,7 @@ class UserManagement(View):
|
|
|
"username": username,
|
|
|
"NickName": username,
|
|
|
"userEmail": userEmail,
|
|
|
- "password": make_password(password),
|
|
|
+ "password": password,
|
|
|
"userID": CommonService.getUserID(μs=False, setOTAID=True),
|
|
|
"is_active": True,
|
|
|
"user_isValid": True,
|