java ldap 分页_具有从属引用的 LDAP 分页查询未正确处理

具有从属引用的 LDAP 分页查询未正确处理

09/14/2020

本文内容

本文提供了一些方法来避免使用从属引用的 LDAP 分页查询未正确处理的问题。

原始产品版本:   Windows 8

原始 KB 编号:   2561166

症状

你有一个应用程序,使用 ldap_search_ext 或 ldap_search_ext_s,通过分页搜索来搜索 Active Directory,并且它设置为追踪引荐。 当从域 NC 的根目录搜索时,分页搜索在首页之后提前结束。

在应用程序中,它收到的分页 Cookie 为空,因此应用程序将结束查询。 在网络跟踪中,您可以验证分页查询是否返回非空 Cookie 以及一个或多个引用。 大多数查询在结果集引用时将看不到任何内容,因为通常在域 NC 中搜索的对象不在从属 NC 中,除非它们也是域 NC。

应用程序也可能在首页后收到"操作错误"。

域控制器返回以下命名上下文的从属引用:

搜索林根时:配置 NC (后跟架构 NC 引用)

搜索林根目录时:ForestDnsZones NC

DomainDnsZones NC

所有子域。 并递归所有子域下整个域树。

原因

分页查询期间引用引用时存在多个问题:

当对位于同一台服务器上的命名上下文进行 (请参阅 1.,也可能是 2。 和 3。 上述) ,同一 LDAP 会话上发生查询,擦除在客户端 LDAP 运行时的主查询中返回的分页 Cookie。

当所引用的最后一个引用也超过页面大小时,从上一个 NC 接收到的引荐 Cookie 将用于继续主搜索。 这会导致 LDAP 搜索失败,出现"操作错误",因为 Cookie 不符合服务器有关搜索的索引和索引位置的知识。

当使用不带 SSL 的简单绑定完成主要搜索时,引用的查询将失败并出现"操作错误",因为 LDAP 客户端设计为在引用引用时不发送纯文本凭据。

解决方案

此问题目前尚未解决。

可以在应用程序中使用以下方法避免这些问题:

使用避免服务器返回从属引用的基本 DN,例如,搜索域根对象下的 OU。

搜索全局编录,而不是林根域 NC。 你需要确保所需的所有属性都存在于 GC 中,并且确实希望整个林而不是之前搜索的域树。

如果你不希望自动追踪引荐:由于默认情况下会追踪引荐,请使用带标志ldap_set_option LDAP_OPT_REFERRALS关闭引荐查询。 完成主查询后,始终可以手动追踪引用。

在搜索时LDAP_SERVER_DOMAIN_SCOPE_OID,它将在搜索域根时关闭延续引用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值