如果用户仅存在于 Activity 目录中,则以下搜索词似乎会返回匹配项:
NamingEnumeration<SearchResult> ne = dirContext.search(
baseDN,
userObjectQuery,
new String[] { userName },
SearchControls)
userObjectQuery 类似于 userObjectQuery=(&(sAMAccountName=%u)(objectclass=user))
上面的 %u
将被用户名替换。
如何确保用户密码也匹配,然后才返回 true?
最佳答案
使用搜索代码找到用户后,您可以使用 getNameInNamespace()
获取用户的完整 DN
然后您可以绑定(bind)完整的 DN 和密码以进行身份验证。
关于Java LDAP 密码验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3159802/