【发布时间】:2013-12-14 11:49:57
【问题描述】:
我正在尝试编写一个高效的 LDAP 查询,该查询从另一个森林/域返回结果。没有双向信任。没有条件转发器。我所拥有的是经过验证的网络连接、IP 地址以及要使用的服务帐户和密码。
这是我通常使用的基本 LDAP 代码。
DirectoryEntry deParent = new DirectoryEntry("LDAPS://000.0.000.00/DC=bob,DC=earl,DC=john,DC=whatever");
deParent.Username = "Domain\\UserName";
deParent.Password = "Password";
deParent.AuthenticationType = AuthenticationTypes.Secure;
DirectorySearcher ds = new DirectorySearcher(deParent, qry, columns, SearchScope.Subtree);
我知道这有点广泛,但是那里有很多相互矛盾的信息。所以。
- 是否需要信任才能执行跨林查询?仅查询,除服务帐号外无需登录。
- 像上面这样的基本 DirectoryEntry 调用会起作用吗?
- 谁能提供一个在 c# 中工作的跨林查询示例?
【问题讨论】:
-
使用全局编录也会有所帮助(端口 3268)。 GC 包含森林的只读副本,因此通常不需要重定向。副本只包含某些值,所以如果您搜索任何不寻常的东西,这将不起作用
-
在这种情况下,端口 3268 没有对我们开放。不过我会记住这一点,以便随着时间的推移提高性能。
标签: c# active-directory ldap