从Active Directory查询数据的最快方法

时间:2011-04-13 06:42:09

标签: c# active-directory ldap

我正在尝试查询有关用户的“成员”数据,而我正在寻找在C#中执行此操作的最快方法。

我已经尝试过IsInRole(),PrincipalSearcher和linq以及结果,其中IsInRole方法的效果要好得多。

仍然从我所听到的,某种类型的LDAP查询必须比多次IsInRole调用更快,我找不到。

如果有人以最快的方式(甚至比IsInRole()方法更快)获取此信息 从AD,请帮助我。

感谢,    马特

1 个答案:

答案 0 :(得分:0)

IsInRole的一种可能替代方法是使用此ldap过滤器检查用户是否是具有DirectorySearcher的组的成员(检查search filter syntax):

"(memberOf:1.2.840.113556.1.4.1941:=CN=SomeGroup,DC=X,DC=Y)"

此外,您必须将用户指定为搜索库 但是,我不知道,如果性能方面的优于IsInRole ......