有人能解释一下在ActiveDirectory中使用LdapConnection/SearchRequest和DirectoryEntry/DirectorySearcher来搜索用户的区别吗?
哪一个最适合与AD交互?
发布于 2014-11-15 16:32:59
在大多数情况下,您应该使用DirectoryEntry/DirectorySearcher (System.DirectoryServices或S.DS)与AD交互。它允许您用更少的代码更轻松地完成任务。但对于LdapConnection/SearchRequest (System.DirectoryServices.Protocols或S.DS.P),它提供了更多的控制,因为它提供了较低级别的LDAP访问。对于非AD的LDAP兼容目录,最好使用S.DS.P.
与S.DS相比,使用S.DS.P通常需要编写更多代码来实现相同的功能。
例如,对于S.DS.P中的分页搜索,您需要处理每页结果的请求和响应。但是在S.DS中,您只需要设置DirectorySearcher.PageSize,然后就可以从DirectorySearcher.FindAll()获得所有页面中的所有结果。
有些事情你必须使用S.DS.P,比如幻影根目录搜索,或者你想手动处理“更多数据可用”。但这些情况并不常见,至少在我多年的S.DS编码工作中不需要。
https://stackoverflow.com/questions/19222208
复制相似问题