我對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