mirror of https://github.com/jumpserver/jumpserver
perf: save_passwd_change filter user source local and passwords not emtpy
parent
a78ccc9667
commit
bb6d077645
|
@ -65,12 +65,18 @@ def user_authenticated_handle(user, created, source, attrs=None, **kwargs):
|
|||
|
||||
@receiver(post_save, sender=User)
|
||||
def save_passwd_change(sender, instance: User, **kwargs):
|
||||
if instance.source != User.Source.local.value:
|
||||
return
|
||||
|
||||
passwords = UserPasswordHistory.objects \
|
||||
.filter(user=instance) \
|
||||
.order_by('-date_created') \
|
||||
.values_list('password', flat=True)
|
||||
passwords = passwords[:int(settings.OLD_PASSWORD_HISTORY_LIMIT_COUNT)]
|
||||
|
||||
if not passwords:
|
||||
return
|
||||
|
||||
for p in passwords:
|
||||
if instance.password == p:
|
||||
break
|
||||
|
|
Loading…
Reference in New Issue