2024-04-23 07:32:08 发布
网友
我正在使用python LDAP模块(除其他外)搜索组,遇到服务器的大小限制并获得size limit_EXCEEDED异常。我尝试过同步和异步搜索,并从两个方面解决了问题。
您应该可以通过在搜索上设置分页控件来解决这个问题,但是根据python的说法,ldap docs控件还没有实现用于搜索文本的功能。在python中有这样的方法吗?如果python ldap库不支持它,是否还有其他python库支持它?
下面是一些与PythonLDAP中的分页相关的链接。
在对python ldap dev邮件列表进行了一些讨论之后,我可以回答自己的问题。
PythonLDAP模块支持页面控件,但尚未更新文档以显示搜索文本。example linked by Gorgapor显示了如何使用ldap.controls.SimplePagedResultsControl读取页面中的结果。
但是有一个问题。这将适用于Microsoft活动目录服务器,但不适用于OpenLDAP服务器(可能还有其他服务器,如Sun服务器)。对于是否应允许分页控件重写服务器的sizelimit设置,LDAP controls RFC不明确。在ActiveDirectory服务器上,默认情况下它们可以,而在OpenLDAP上它们不能,但是我认为有一个服务器设置允许它们这样做。
因此,即使您实现了分页控件,仍然无法保证它将获得您想要的所有对象。叹息
另外,分页控件仅在LDAP v3中可用,但我怀疑有许多v2服务器正在使用。
下面是一些与PythonLDAP中的分页相关的链接。
在对python ldap dev邮件列表进行了一些讨论之后,我可以回答自己的问题。
PythonLDAP模块支持页面控件,但尚未更新文档以显示搜索文本。example linked by Gorgapor显示了如何使用ldap.controls.SimplePagedResultsControl读取页面中的结果。
但是有一个问题。这将适用于Microsoft活动目录服务器,但不适用于OpenLDAP服务器(可能还有其他服务器,如Sun服务器)。对于是否应允许分页控件重写服务器的sizelimit设置,LDAP controls RFC不明确。在ActiveDirectory服务器上,默认情况下它们可以,而在OpenLDAP上它们不能,但是我认为有一个服务器设置允许它们这样做。
因此,即使您实现了分页控件,仍然无法保证它将获得您想要的所有对象。叹息
另外,分页控件仅在LDAP v3中可用,但我怀疑有许多v2服务器正在使用。
相关问题 更多 >
编程相关推荐