LdapConnection 与 DirectoryEntry
Posted
技术标签:
【中文标题】LdapConnection 与 DirectoryEntry【英文标题】:LdapConnection Vs DirectoryEntry 【发布时间】:2013-10-13 20:54:29 【问题描述】:谁能解释在 ActiveDirectory 中使用 LdapConnection/SearchRequest 和 DirectoryEntry/DirectorySearcher 搜索用户的区别。
哪一个最适合与 AD 交互?
【问题讨论】:
这是个好问题。我一直将 DirectoryEntry 用于 AD,将 LdapConnection 用于通用 Ldap 解决方案,但我从未比较过它们。 @empi 嗨,我需要你的帮助,你能帮忙吗? 的东西 【参考方案1】:在大多数情况下,您应该使用 DirectoryEntry/DirectorySearcher(System.DirectoryServices 或 S.DS)与 AD 交互。它使您可以用更少的代码更轻松地完成工作。但是对于 LdapConnection/SearchRequest(System.DirectoryServices.Protocols 或 S.DS.P),它提供了更多控制,因为它提供了较低级别的 LDAP 访问。对于 AD 以外的 LDAP 兼容目录,最好使用 SDS。
使用 S.DS.P,与 S.DS 相比,通常您需要编写更多代码才能实现相同的目标。
例如,对于 S.DS.P 中的分页搜索,您需要处理每页结果的请求和响应。但是在SDS中,您只需要设置DirectorySearcher.PageSize,然后您就可以从DirectorySearcher.FindAll()中获得所有页面中的所有结果。
有些事情您必须使用 S.DS.P,例如虚拟根搜索,或者您想要手动处理“更多可用数据”。但这些情况并不常见,至少在我多年的 S.DS 编码中不需要。
【讨论】:
以上是关于LdapConnection 与 DirectoryEntry的主要内容,如果未能解决你的问题,请参考以下文章
在java Spring Boot中,如何在集成测试中将内存中的LDAPConnection对象传递给ldapService?
LdapConnection是否可以安全地在Active Directory中验证用户?
cocos creator cc.Director与资源加载策略
cocos creator基础-(二十四)cc.Director与资源加载策略