fix a bug in multi-LDAP authentication

see: https://github.com/ansible/tower/issues/2738
This commit is contained in:
Ryan Petrello
2018-08-01 17:36:55 -04:00
parent c09a23f063
commit 2102c1ef0a

View File

@@ -110,12 +110,13 @@ class LDAPBackend(BaseLDAPBackend):
pass pass
try: try:
user = super(LDAPBackend, self).authenticate(username, password) user = super(LDAPBackend, self).authenticate(username, password)
try: if user and getattr(user, 'ldap_user', None):
user.ldap_user._get_groups().get_group_dns() try:
except ImproperlyConfigured: user.ldap_user._get_groups().get_group_dns()
logger.exception(_("Encountered an error populating user {} from LDAP").format(user.username)) except ImproperlyConfigured:
user.delete() logger.exception(_("Encountered an error populating user {} from LDAP").format(user.username))
raise user.delete()
raise
return user return user
except Exception: except Exception:
logger.exception("Encountered an error authenticating to LDAP") logger.exception("Encountered an error authenticating to LDAP")