From 5d9ac817b2fdd54d0078d8392dd6c1cd5b5c1abf Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Mon, 17 Feb 2020 15:52:32 +0100 Subject: [PATCH] Allow login with username instead of email for LDAP. see #1798 --- modoboa/lib/authbackends.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/modoboa/lib/authbackends.py b/modoboa/lib/authbackends.py index 87bfd676d..5d01859d2 100644 --- a/modoboa/lib/authbackends.py +++ b/modoboa/lib/authbackends.py @@ -87,7 +87,15 @@ try: if group == "SimpleUsers": lpart, domain = split_mailbox(username) if domain is None: - return None + # Try to find associated email + email = None + for attr in ['mail', 'userPrincipalName']: + if attr in ldap_user.attrs: + email = ldap_user.attrs[attr][0] + break + if email is None: + return None + username = email user, created = User.objects.get_or_create( username__iexact=username, defaults={