From d9c04b23818cd8d2791673161564597baba51761 Mon Sep 17 00:00:00 2001 From: Nikolai R Kristiansen Date: Sun, 28 Feb 2016 15:24:27 +0100 Subject: [PATCH] LDAP: Only set password if user exists --- neuf_ldap/utils.py | 4 ++-- neuf_userinfo/forms.py | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/neuf_ldap/utils.py b/neuf_ldap/utils.py index 93a182b..48cb939 100644 --- a/neuf_ldap/utils.py +++ b/neuf_ldap/utils.py @@ -34,13 +34,13 @@ def set_ldap_password(username, raw_password): def ldap_user_group_exists(username): from neuf_ldap.models import LdapGroup - return len(LdapGroup.objects.filter(name=username)) != 0 + return LdapGroup.objects.filter(name=username).exists() def ldap_username_exists(username): from neuf_ldap.models import LdapUser - return len(LdapUser.objects.filter(username=username)) != 0 + return LdapUser.objects.filter(username=username).exists() def create_ldap_user(user, dry_run=False): diff --git a/neuf_userinfo/forms.py b/neuf_userinfo/forms.py index af36fca..1353b5b 100644 --- a/neuf_userinfo/forms.py +++ b/neuf_userinfo/forms.py @@ -42,7 +42,8 @@ class NeufSetPasswordForm(SetPasswordForm): # Active services set_radius_password(username, password) # creates user if non-existant - set_ldap_password(username, password) + if ldap_username_exists(username): + set_ldap_password(username, password) if has_kerberos_principal(username): set_kerberos_password(username, password)