gpt4 book ai didi

java - 使用 NTLM 安全协议(protocol)连接到 LDAP (Active Directory)

转载 作者:行者123 更新时间:2023-12-01 04:56:26 25 4
gpt4 key购买 nike

目前,我使用用户名和密码作为 ldap 的连接凭据(以便对 AD 用户进行身份验证)。

对于此处的身份验证,我使用 InitialDirContext 创建了一个初始上下文(针对 Active Directory),我们在其中提供了一组环境属性,其中将包含身份验证信息。

我的代码如下:

env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, ...);
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, ...);
env.put(Context.SECURITY_CREDENTIALS, ...);
env.put("com.sun.jndi.ldap.connect.timeout", ...);

try {
ctx = new InitialLdapContext(env);
}
catch (NamingException e) {
System.out.println("error")
}

我想更改此代码,以便它将使用 NTLM 将输入的用户名和密码验证为 LDAP 的凭据。

你能给我一些例子吗?

NTLM – 是一套 Microsoft 安全协议(protocol),提供- 验证- 正直- 保密

最佳答案

算了。 Java 中没有对 NTLM 的 SASL 支持。使用 GSS-API。始终避免使用专有技术,这是一条死胡同。并且永远使用简单身份验证,它以明文形式传输密码。至少使用 Digest MD5。

关于java - 使用 NTLM 安全协议(protocol)连接到 LDAP (Active Directory),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14053654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com