我有一种情况,在我的应用程序中查询全局目录超过3269端口以获取DN,它总是期望每个用户查询的唯一结果,如果结果是同一用户的多个CN,它会抛出异常(如果用户是不止一个AD组)。我想通过查询林中完整域集中的2个域来避免这种情况,请指导我是否可以通过全局目录查询的任何过滤器实现此目的,或者是否可以同时查询两个域,谢谢提前。
在查询全局编录时,不可能仅包含林中特定域的结果。
有一些属性包含帐户的域,但它们都不能在查询中使用。当然,distinguishedName
中有域DN,但是AD不允许你在distinguishedName
上查询部分匹配(例如,(distinguishedName=*DC=domain,DC=com)
不起作用)。
还有属性msDS-PrincipalName
(DOMAIN\username
格式)和canonicalName
(domain.com/Users/TheUser
格式),但这些都是构造属性,它们是在您要求时计算的,因此它们不能用于查询。
你可以做两件事:
distinguishedName
,msDS-PrincipalName
或canonicalName
的域部分来做到这一点。 (因为最后两个是构造属性,所以你必须要求在搜索中返回它们,否则它们不会被返回)选项1可能会更快,因为您只进行一次搜索而不是两次。