我对LDAP有一些理解问题。 当我使用Active Directory服务器时,我可以使用username @ domain和密码进行绑定。LDAP通过用户名和域名获取用户DN
当我使用ApacheDS时,我必须给它用户和密码的完整DN。
所以我有如下因素的问题:
- 我如何找到用户的ApacheDS的服务器上的完整DN与 匿名privilegs,只有用户名,域(和 密码)的知识呢?
- 这是偶吗? ApacheDS服务器甚至是Active Directory的替代品吗?
我对LDAP有一些理解问题。 当我使用Active Directory服务器时,我可以使用username @ domain和密码进行绑定。LDAP通过用户名和域名获取用户DN
当我使用ApacheDS时,我必须给它用户和密码的完整DN。
所以我有如下因素的问题:
一般来说,LDAP认证分两步进行:
(&(objectClass=user)(uid=%s))
Active Directory带有一个便利功能:您可以使用一对支持的标识符进行绑定,并且AD将为您在内部执行映射。
ApacheDS不是AD的即插即用替代品,但它是可扩展的。 Java开发人员可以轻松编写一个认证拦截器,提供与AD相同的内部映射。
由于marabu说你可以在绑定之前使用目录上的搜索来模拟身份验证。
您还可以查找提供其他验证方式的SASL验证。
这里有ApacheDS中的列表支持SASL机制:http://directory.apache.org/apacheds/advanced-ug/4.1.2-sasl-authn.html
你有任何地方的东西一个LDAP搜索查询?如果是,则搜索具有列出的'userPrincipalName'属性的用户,应该通过其实际DN返回一个用户。然后用DN和密码查询,如果它与用户匹配。 – Vesper