我使用python LDAP模块(除其他外)搜索组,并运行到服务器的大小限制并获得SIZELIMIT_EXCEEDED异常.我尝试了同步和异步搜索,并且两种方式都遇到了问题.
您应该能够通过在搜索上设置分页控件来解决此问题,但根据python-ldap文档,尚未为search_ext实现控件.有没有办法在Python中执行此操作?如果python-ldap库不支持它,那么还有另一个Python库吗?
Chr*_*ard 16
以下是与python-ldap中的分页相关的一些链接.
在对python-ldap-dev邮件列表进行一些讨论后,我可以回答我自己的问题.
页面控件由Python lDAP模块支持,但尚未更新search_ext的文档以显示该文档.在通过Gorgapor链接例子说明如何使用ldap.controls.SimplePagedResultsControl阅读页面的结果.
但是有一个问题.这适用于Microsoft Active Directory服务器,但不适用于OpenLDAP服务器(可能还有其他服务器,例如Sun的服务器).该LDAP控制RFC是模糊的,以分页控件是否应该被允许覆盖服务器的设置的sizeLimit.在ActiveDirectory服务器上,默认情况下,他们可以在OpenLDAP上使用,但我认为有一个服务器设置可以允许它们.
因此,即使您实现了分页控件,仍然无法保证它将获得您想要的所有对象.叹
分页控件也仅适用于LDAP v3,但我怀疑有很多v2服务器在使用.