|
825 |
MODULE.error("Found token in DB for blacklisted user '{}'.".format(username)) |
825 |
MODULE.error("Found token in DB for blacklisted user '{}'.".format(username)) |
826 |
self.db.delete_tokens(token=token, username=username) |
826 |
self.db.delete_tokens(token=token, username=username) |
827 |
raise ServiceForbidden() # TokenNotFound() ? |
827 |
raise ServiceForbidden() # TokenNotFound() ? |
828 |
ret = self.udm_set_password(username, password) |
828 |
ret = self.udm_set_password(username, password, enable=True) |
829 |
self.db.delete_tokens(token=token, username=username) |
829 |
self.db.delete_tokens(token=token, username=username) |
830 |
if ret: |
830 |
if ret: |
831 |
raise UMC_Error(_("Successfully changed your password."), status=200) |
831 |
raise UMC_Error(_("Successfully changed your password."), status=200) |
|
1035 |
return False |
1035 |
return False |
1036 |
return True |
1036 |
return True |
1037 |
|
1037 |
|
1038 |
def udm_set_password(self, username, password): |
1038 |
def udm_set_password(self, username, password, enable=False): |
1039 |
user = self.get_udm_user(username=username, admin=True) |
1039 |
user = self.get_udm_user(username=username, admin=True) |
1040 |
if ucr.is_true('ad/member') and 'synced' in user.get('objectFlag', []): |
1040 |
if ucr.is_true('ad/member') and 'synced' in user.get('objectFlag', []): |
1041 |
return self.admember_set_password(username, password) |
1041 |
return self.admember_set_password(username, password) |
1042 |
try: |
1042 |
try: |
1043 |
user["password"] = password |
1043 |
user["password"] = password |
1044 |
user["pwdChangeNextLogin"] = 0 |
1044 |
user["pwdChangeNextLogin"] = 0 |
|
|
1045 |
if enable: |
1046 |
user["disabled"] = 0 |
1045 |
user.modify() |
1047 |
user.modify() |
1046 |
return True |
1048 |
return True |
1047 |
except (udm_errors.pwToShort, udm_errors.pwQuality) as exc: |
1049 |
except (udm_errors.pwToShort, udm_errors.pwQuality) as exc: |