具有从属引用的 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,它将在搜索域根时关闭延续引用。

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

  1. java服务器端分页_使用数据表的服务器端分页

    服务器每页返回15条记录,总记录超过2000条 . 我想显示前15条记录,然后每次单击"下一步"按钮,显示剩余的所有记录(每页15条记录) . 为此,我们做服务器端分页或客户端?? ...

  2. java实现通用查询_通用业务引用查询服务实现

    publicclassBizReferenceServiceimplementsIBizReferenceService {privatestaticMap>ruleMaps;privatest ...

  3. java连接ldap服务器_客户端无法连接到ldap服务器

    我是使用ldap和slapd的新手,我在使用我的客户端机器连接到托管slapd的服务器时遇到了一些麻烦 . 这是向下运行:在ubuntu盒子上我有一个运行带有CentOS的虚拟机的虚拟机实例 . 我已 ...

  4. java静态分页_关于新闻列表静态化分页问题

    9# 发表于:2017-09-30 11:39:03  IP:110.204.*.* html> ${channel.title!channel.name} - ${site.name} -福建 ...

  5. hibernate mysql分页_求struts+hibernate实现mysql分页的详细代码

    展开全部 分页不难 我分3段代码给你(dao 分页辅助业务类 Struts的Action 这写做完以后JSP里就可以随e69da5e887aa62616964757a686964616f3133323 ...

  6. php mysql 分组 分页_简单的PHP+Mysql实现分页

    1 <?php2 /**3 * PHP+Mysql实现分页4 * **/ 5 ?> 6 7 8 9 10 11 12 /**/ 13 body{14 font-size:12px;FONT ...

  7. 魏永红java课后答案_基于J2ME技术的手机信息查询系统的设计与实现

    基于J2ME技术的手机信息查询系统的设计与实现 魏永红 [期刊名称]<微计算机信息> [年(卷),期]2006(000)04X [摘要]本文以公安系统的应用为例,介绍了如何在基于Java的 ...

  8. mysql联合查询结果_请问 MySQL 这个情况如何联合查询得到正确的结果?

    表 order (订单基本信息),有以下字段: oid:int,自增主键 opids:varchar,值类似"3,4","5,"6,7,8",意思是这 ...

  9. java 清空控制台_利用原生库和JNI(Java原生接口)实现H2数据库漏洞利用

    在H2数据库引擎中获取代码执行权限的技术早已是众所周知,但有个要求就是H2能够动态编译Java代码.而本文将向大家展示以前没有公开过的利用H2的方法,并且无需使用Java编译器,即通过原生库和JNI( ...

最新文章

  1. EMC:欲占企业数据中心市场大半江山
  2. 【实战】用机器学习来提升你的用户增长:(三、预测客户的终生价值)
  3. 史上最全的Linux常用命令汇总①收藏这一篇就够了!(超全,超详细)
  4. json字符串导入oracle,如何在Oracle中将JSON字符串转换为JSON
  5. 将视图转为image_JavaScript二进制数组(2)TypedArray视图
  6. 神经网络的激活函数、并通过python实现激活函数
  7. 我本人一直以来犯的错误,在看了 Think In Java 后才抓了出来
  8. activeMQ入门安装
  9. pytorch 深入理解 tensor.scatter_ ()用法
  10. Eclipse+Java+Swing实现学校教材管理系统
  11. 用mapgis数据转成arcgis中shape格式的方法
  12. 整形数据之间的强制转换
  13. 2012年***名单。
  14. Python爬虫尝试-爬取指定股票的财务报表(东方财富网)
  15. Linux 常用小工具
  16. Android本地备份功能禁用
  17. SQL之LEFT JOIN,EIGHT JOIN,INSERT JOIN的区别
  18. Y400双硬盘安装WIN10和Ubuntu
  19. 深度剖析国内人脸识别主流技术及发展走向
  20. PLC工程师学会编程,是一种什么样的体验?

热门文章

  1. android Calendar使用 年月日时分秒
  2. jmeter测试TCP服务器/模拟发送TCP请求
  3. mysql8.0创建属性_MySQL8.0新特性——资源管理
  4. PowerDesigner物理数据模型
  5. Java线程--BlockingQueue使用
  6. vue双向数据绑定v-model绑定单选框,复选框,下拉框
  7. 【OS学习笔记】三十七 保护模式十:中断和异常的处理与抢占式多任务对应的汇编代码----主引导扇区代码
  8. 网络协议之http和tcp思维导图
  9. 使用with 创建视图
  10. 「一本通 4.1 练习 2」简单题