瀏覽代碼

HUE-3908 [useradmin] Ignore (objectclass=*) filter when searching for LDAP users

krish 9 年之前
父節點
當前提交
3a1865b
共有 1 個文件被更改,包括 5 次插入1 次删除
  1. 5 1
      apps/useradmin/src/useradmin/ldap_access.py

+ 5 - 1
apps/useradmin/src/useradmin/ldap_access.py

@@ -296,7 +296,11 @@ class LdapConnection(object):
     sanitized_name = sanitized_name.replace(r'\5c,', r'\2c')
 
     search_dn, user_name_filter = self._get_search_params(sanitized_name, search_attr, find_by_dn)
-    ldap_filter = '(&' + user_filter + user_name_filter + ')'
+    ldap_filter = user_filter
+    if user_name_filter:
+      if ldap_filter.lower() in ('(objectclass=*)', 'objectclass=*'):
+        ldap_filter = ''
+      ldap_filter = '(&' + ldap_filter + user_name_filter + ')'
     attrlist = ['objectClass', 'isMemberOf', 'memberOf', 'givenName', 'sn', 'mail', 'dn', user_name_attr]
 
     ldap_result_id = self.ldap_handle.search(search_dn, scope, ldap_filter, attrlist)