Java LDAP 密码验证

标签 java active-directory ldap

如果用户仅存在于 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/

相关文章:

c# - DirectorySearch.PageSize = 2 不起作用

active-directory - 用户可以成为Active Directory中多个组织单位(OU)的成员吗?

apache - 使用 ApacheDS 创建新的架构 LDAP

用于密码管理的 Java 框架

java - 如何管理Eclipse插件项目中的资源(图片、字体、颜色)?

Java:TableModel 和 TreeModel 的服务器端持久存储解决方案?

node.js - NodeJS、 Passport 、 Passport -ldap ConnectionError : ldaps://ldap. XXXX.com:636 已关闭

java - 根据 XML 值进行矩阵计算

python - 如何在Python中使用accountExpires AD属性?

node.js - Node.js 中的事件目录代理