From f9cf2a243bde715979b6e6feb4b4963a33688680 Mon Sep 17 00:00:00 2001 From: Bai Date: Fri, 11 Dec 2020 18:23:12 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dsettings=E4=B8=AD?= =?UTF-8?q?=E6=90=9C=E7=B4=A2LDAP=E7=94=A8=E6=88=B7=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/settings/utils/ldap.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/apps/settings/utils/ldap.py b/apps/settings/utils/ldap.py index 45bdd6018..9b7cd34a2 100644 --- a/apps/settings/utils/ldap.py +++ b/apps/settings/utils/ldap.py @@ -145,6 +145,17 @@ class LDAPServerUtil(object): paged_cookie=paged_cookie ) + @staticmethod + def distinct_user_entries(user_entries): + distinct_user_entries = list() + distinct_user_entries_dn = set() + for user_entry in user_entries: + if user_entry.entry_dn in distinct_user_entries_dn: + continue + distinct_user_entries_dn.add(user_entry.entry_dn) + distinct_user_entries.append(user_entry) + return distinct_user_entries + @timeit def search_user_entries(self, search_users=None, search_value=None): logger.info("Search user entries") @@ -159,6 +170,7 @@ class LDAPServerUtil(object): while self.paged_cookie(): self.search_user_entries_ou(search_ou, self.paged_cookie()) user_entries.extend(self.connection.entries) + user_entries = self.distinct_user_entries(user_entries) return user_entries def user_entry_to_dict(self, entry):