LDAP和Active Directory身份验证有什么区别?

9

我已经尝试过搜索,但没有成功。(我知道LDAP和Active Directory之间的区别。还阅读了这篇文章What are the differences between LDAP and Active Directory?)

据我所知,LDAP使用DN(区分名称)和密码进行身份验证(绑定)。 例如:CN=bob, OU=Users,DC=test,DC=com

Active Directory使用短用户名或完整域用户名和密码进行身份验证。 例如:bobbob@test.com

因此,LDAP不允许在同一树(OU)中具有相同CN的用户,但允许在不同OU中具有相同CN的用户。 即使用户对象位于Active Directory的不同树中,Active Directory也不允许在同一域中具有相同的用户名。 Active Directory允许在不同的域中具有相同的用户名。

其他区别?

3个回答

28

我不确定你是否真正了解LDAP和Active Directory之间的区别。Active Directory是建立在LDAP之上的,就像HTTP建立在TCP之上一样。你无法进行任何有意义的比较。

说LDAP进行身份验证就像说HTTPS在你在线购物时收取你的信用卡费用一样。LDAP协议提供信息给目录服务器进行身份验证,就像HTTPS将您的信息提供给处理服务器进行处理一样。

Active Directory允许您在一个域中拥有具有相同CN的多个对象,只要它们没有相同的父对象。它所限制的是同一域中具有相同sAMAccountName属性的多个对象。

也许你对Active Directory拥有其他目录服务所没有的功能感兴趣?或者想知道Active Directory如何使用LDAP执行高级身份验证请求,例如用户名为bob


感谢您的答案(+1)。除了链接https://dev59.com/43RB5IYBdhLWcg3wUFrB之外,您是否知道LDAP和Active Directory之间的其他区别? 认证后,从LDAP和Active Directory收集信息非常相似。 我在认证方面看到以下差异:Active Directory使用sAMAccountName(bob)进行身份验证,而LDAP使用DN(CN=bob,OU=Users,DC=test,DC=com)进行身份验证。 您还看到其他差异吗? - Michael
2
@Michael 你还没有明白。身份验证不是LDAP和AD之间的区别。你可以使用任何通用的LDAP库使用DN来对AD进行身份验证。如果你想通过用户名进行身份验证,那么你必须使用微软的接口。 - Sean Hall

6

Active Directory是一种产品和目录服务。LDAP是一种应用层协议和IETF标准。Active Directory支持并实现LDAP,因此可以让符合RFC的LDAP客户端与其通信,并执行诸如绑定、搜索等LDAP操作。


0

我不得不应对一个类似于“AD vs LDAP”的情况,我的客户有MS活动目录服务器,还有其他被称为LDAP或企业目录服务器的服务器,这些服务器原来是NetIQ eDirectory服务器(之前来自Novell)。 我的任务是首先使用“CD”实施身份验证,然后再使用AD。

两组服务器都可以使用LDAP协议进行通信,但需要以不同的方式进行交互,例如在用户名方面,如问题中提到的,用户名可以是bob@domain(AD)或DN(CD)。 此外,在搜索用户时,您在AD中查找字段“ sAMAccountName”,并从您的域派生searchBase,例如“ DC = test,DC = com”,而另一个想要字段“ uid”和searchBase为空字符串 =“”。

这里有一页好的页面总结了如何找出另一端的LDAP实现: https://ldapwiki.com/wiki/Determine LDAP Server Vendor


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接