Java Active Directory LDAP - 使用密码哈希对用户进行身份验证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Active Directory LDAP - 使用密码哈希对用户进行身份验证相关的知识,希望对你有一定的参考价值。

我想使用on javascript客户端哈希密码验证活动目录用户。那可能吗?目前我正在通过https连接将明文密码传输到服务器。

这是我检查提供的密码的java端代码:

public DirContext getDirContext( String dn, String password ) throws NamingException {
    Hashtable<String, String> ldapEnv = new Hashtable<>();
    ldapEnv.put( Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory" );
    ldapEnv.put( Context.PROVIDER_URL, this.providerUrl );
    ldapEnv.put( Context.SECURITY_AUTHENTICATION, "simple" );
    ldapEnv.put( Context.SECURITY_PRINCIPAL, dn );
    ldapEnv.put( Context.SECURITY_CREDENTIALS, password );
    return new InitialDirContext( ldapEnv );
}
答案

这将有效,您需要在返回context之前关闭连接:

DirContext context = new InitialDirContext(ldapEnv);

if(context != null)
    context.close();

return context;

以上是关于Java Active Directory LDAP - 使用密码哈希对用户进行身份验证的主要内容,如果未能解决你的问题,请参考以下文章

在 Active Directory 轻量级目录服务中使用 java 创建用户

在 Azure Active Directory Java Springboot 中更新用户数据

如何使用 java 在 OpenLdap 和 Active Directory 之间进行同步?

如何使用 Windows 登录进行单点登录和桌面 Java 应用程序的 Active Directory 条目?

如何通过 Java 客户端创建新用户并将其添加到 Active Directory 中的现有组

使用LDAP WITHOUT servername从Java(Linux)到Active Directory进行身份验证