def _search_for_user_dn(self): """ This method was overridden because the AUTH_LDAP_USER_SEARCH configuration in the settings.py file is configured with a `lambda` problem value """ user_search_union = [ LDAPSearch( USER_SEARCH, ldap.SCOPE_SUBTREE, settings.AUTH_LDAP_SEARCH_FILTER ) for USER_SEARCH in str(settings.AUTH_LDAP_SEARCH_OU).split("|") ] search = LDAPSearchUnion(*user_search_union) if search is None: raise ImproperlyConfigured( 'AUTH_LDAP_USER_SEARCH must be an LDAPSearch instance.' ) results = search.execute(self.connection, {'user': self._username}) if results is not None and len(results) == 1: (user_dn, self._user_attrs) = next(iter(results)) else: user_dn = None return user_dn
def _search_for_user_dn(self): user_search_union = [ LDAPSearch(USER_SEARCH, ldap.SCOPE_SUBTREE, settings.AUTH_LDAP_SEARCH_FILTER) for USER_SEARCH in str(settings.AUTH_LDAP_SEARCH_OU).split("|") ] search = LDAPSearchUnion(*user_search_union) if search is None: raise ImproperlyConfigured( 'AUTH_LDAP_USER_SEARCH must be an LDAPSearch instance.') results = search.execute(self.connection, {'user': self._username}) if results is not None and len(results) == 1: (user_dn, self._user_attrs) = next(iter(results)) else: user_dn = None return user_dn