2011-04-13 33 views
1

我试图查询有关用户的“成员数据”,我正在寻找在C#中最快的方式。从活动目录中查询数据的最快方法

我试过IsInRole(),PrincipalSearcher和LINQ和结果在哪里更好的IsInRole方法。

从我听说的情况来看,某种LDAP查询必须快于多个IsInRole调用,但我找不到一个。

如果任何人有最快的方法(或甚至更快的IsInRole()方法)从AD得到这个信息 ,请帮助我。

感谢, 马特

+0

你想要做什么?获取用户所属的所有组?获得组的子集的成员身份,包括嵌套组? – 2011-04-13 07:27:55

回答

0

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

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

此外,您必须指定用户作为搜索基础。
但是,我不知道,如果性能明智,这比IsInRole ...