Java ActiveDirectory LDAP - 使用密码哈希验证用户

时间:2018-02-28 10:39:06

标签: java authentication 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 );
}

1 个答案:

答案 0 :(得分:0)

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

DirContext context = new InitialDirContext(ldapEnv);

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

return context;