如何仅从ADAS林中查询特定LDAP域

问题描述 投票:-2回答:1

我有一种情况,在我的应用程序中查询全局目录超过3269端口以获取DN,它总是期望每个用户查询的唯一结果,如果结果是同一用户的多个CN,它会抛出异常(如果用户是不止一个AD组)。我想通过查询林中完整域集中的2个域来避免这种情况,请指导我是否可以通过全局目录查询的任何过滤器实现此目的,或者是否可以同时查询两个域,谢谢提前。

active-directory ldap ldap-query
1个回答
0
投票

在查询全局编录时,不可能仅包含林中特定域的结果。

有一些属性包含帐户的域,但它们都不能在查询中使用。当然,distinguishedName中有域DN,但是AD不允许你在distinguishedName上查询部分匹配(例如,(distinguishedName=*DC=domain,DC=com)不起作用)。

还有属性msDS-PrincipalNameDOMAIN\username格式)和canonicalNamedomain.com/Users/TheUser格式),但这些都是构造属性,它们是在您要求时计算的,因此它们不能用于查询。

你可以做两件事:

  1. 查询全局编录,然后丢弃您不想要的域的结果。你可以通过检查distinguishedNamemsDS-PrincipalNamecanonicalName的域部分来做到这一点。 (因为最后两个是构造属性,所以你必须要求在搜索中返回它们,否则它们不会被返回)
  2. 不要使用全局目录。分别查询这两个域。

选项1可能会更快,因为您只进行一次搜索而不是两次。

© www.soinside.com 2019 - 2024. All rights reserved.