繁体   English   中英

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

[英]Java ActiveDirectory LDAP - Authenticate user with password hash

我想使用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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM