mirror of https://github.com/jumpserver/jumpserver
fix: 解决手机号加密导致忘记密码判断总是失败问题
parent
496b72aaee
commit
630bb56601
|
@ -28,9 +28,13 @@ class UserResetPasswordSendCodeApi(CreateAPIView):
|
||||||
serializer_class = ResetPasswordCodeSerializer
|
serializer_class = ResetPasswordCodeSerializer
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def is_valid_user(**kwargs):
|
def is_valid_user(username, **attr_query):
|
||||||
user = get_object_or_none(User, **kwargs)
|
user = get_object_or_none(User, username=username)
|
||||||
if not user:
|
valid = True
|
||||||
|
for attr, value in attr_query.items():
|
||||||
|
if getattr(user, attr, None) != value:
|
||||||
|
valid = False
|
||||||
|
if not valid:
|
||||||
err_msg = _('User does not exist: {}').format(_("No user matched"))
|
err_msg = _('User does not exist: {}').format(_("No user matched"))
|
||||||
return None, err_msg
|
return None, err_msg
|
||||||
if not user.is_local:
|
if not user.is_local:
|
||||||
|
@ -56,7 +60,6 @@ class UserResetPasswordSendCodeApi(CreateAPIView):
|
||||||
target = serializer.validated_data[form_type]
|
target = serializer.validated_data[form_type]
|
||||||
if form_type == 'sms':
|
if form_type == 'sms':
|
||||||
query_key = 'phone'
|
query_key = 'phone'
|
||||||
target = target.lstrip('+')
|
|
||||||
else:
|
else:
|
||||||
query_key = form_type
|
query_key = form_type
|
||||||
user, err = self.is_valid_user(username=username, **{query_key: target})
|
user, err = self.is_valid_user(username=username, **{query_key: target})
|
||||||
|
|
Loading…
Reference in New Issue