Merge pull request #3451 from jumpserver/dev_bai

[Update] 删除 LDAP 查询时抛出的自定义异常类( LDAPOUGroupException),解决多有 OU 下导入用户时的问题
pull/3452/head
BaiJiangJie 2019-11-22 13:53:25 +08:00 committed by GitHub
commit 72ea036a29
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 10 deletions

View File

@ -21,10 +21,6 @@ __all__ = [
LDAP_USE_CACHE_FLAGS = [1, '1', 'true', 'True', True] LDAP_USE_CACHE_FLAGS = [1, '1', 'true', 'True', True]
class LDAPOUGroupException(Exception):
pass
class LDAPConfig(object): class LDAPConfig(object):
def __init__(self, config=None): def __init__(self, config=None):
@ -93,8 +89,12 @@ class LDAPServerUtil(object):
def paged_cookie(self): def paged_cookie(self):
if self._paged_size is None: if self._paged_size is None:
return None return None
cookie = self.connection.result['controls']['1.2.840.113556.1.4.319']['value']['cookie'] try:
return cookie cookie = self.connection.result['controls']['1.2.840.113556.1.4.319']['value']['cookie']
return cookie
except Exception as e:
logger.error(e)
return None
def get_search_filter_extra(self): def get_search_filter_extra(self):
extra = '' extra = ''
@ -119,14 +119,11 @@ class LDAPServerUtil(object):
def search_user_entries_ou(self, search_ou, paged_cookie=None): def search_user_entries_ou(self, search_ou, paged_cookie=None):
search_filter = self.get_search_filter() search_filter = self.get_search_filter()
attributes = list(self.config.attr_map.values()) attributes = list(self.config.attr_map.values())
ok = self.connection.search( self.connection.search(
search_base=search_ou, search_filter=search_filter, search_base=search_ou, search_filter=search_filter,
attributes=attributes, paged_size=self._paged_size, attributes=attributes, paged_size=self._paged_size,
paged_cookie=paged_cookie paged_cookie=paged_cookie
) )
if not ok:
error = _("Search no entry matched in ou {}".format(search_ou))
raise LDAPOUGroupException(error)
@timeit @timeit
def search_user_entries(self): def search_user_entries(self):