如何使用Python LDAP获得比服务器的sizelimit更多的搜索结果?

2024-04-23 07:32:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python LDAP模块(除其他外)搜索组,遇到服务器的大小限制并获得size limit_EXCEEDED异常。我尝试过同步和异步搜索,并从两个方面解决了问题。

您应该可以通过在搜索上设置分页控件来解决这个问题,但是根据python的说法,ldap docs控件还没有实现用于搜索文本的功能。在python中有这样的方法吗?如果python ldap库不支持它,是否还有其他python库支持它?


Tags: 模块方法文本功能服务器docssizeldap
2条回答

在对python ldap dev邮件列表进行了一些讨论之后,我可以回答自己的问题。

PythonLDAP模块支持页面控件,但尚未更新文档以显示搜索文本。example linked by Gorgapor显示了如何使用ldap.controls.SimplePagedResultsControl读取页面中的结果。

但是有一个问题。这将适用于Microsoft活动目录服务器,但不适用于OpenLDAP服务器(可能还有其他服务器,如Sun服务器)。对于是否应允许分页控件重写服务器的sizelimit设置,LDAP controls RFC不明确。在ActiveDirectory服务器上,默认情况下它们可以,而在OpenLDAP上它们不能,但是我认为有一个服务器设置允许它们这样做。

因此,即使您实现了分页控件,仍然无法保证它将获得您想要的所有对象。叹息

另外,分页控件仅在LDAP v3中可用,但我怀疑有许多v2服务器正在使用。

相关问题 更多 >