gpt4 book ai didi

java - java 应用程序中使用 jndi 时出现身份验证错误 49 52e - 无效 token

转载 作者:行者123 更新时间:2023-11-30 06:22:34 24 4
gpt4 key购买 nike

我想询问 LDAP 服务器在 Java 应用程序中提供的用户名和密码是否正确。

我最终将 jndi 与此函数一起使用(这是我用来探索返回异常消息的 LDAP 的测试函数):

public static String checkCredentials(String securityPrincipal,
String password,
String ldapUrl,
String securityAuthentication)
{
String userVerify = "";
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, ldapUrl);
env.put(Context.SECURITY_AUTHENTICATION, securityAuthentication);
env.put(Context.SECURITY_PRINCIPAL, securityPrincipal);
env.put(Context.SECURITY_CREDENTIALS, password);

try {
DirContext authContext = new InitialDirContext(env);
userVerify = testDescription + " - Success";
authContext.close();
} catch (AuthenticationException authEx) {
userVerify = "AuthenticationException: " + authEx.getMessage();//"Authentication failed!";
} catch (NamingException namEx) {
userVerify = "NamingException: " + namEx.getMessage();//"Something went wrong!";
}
return userVerify;
}

当我通过传递正确的ldapUrl(在我的例子中是ldap://192.168.48.60:389)来调用checkCredentials时,我总是得到结果(函数返回一个String):

AuthenticationException: [LDAP: error code 49 - 80090308: LdapErr: DSID-0C0903A8, comment: AcceptSecurityContext error, data 52e, v1db1]

这个page说这是一个身份验证错误 (49) 和“用户名有效,但密码/凭据无效”(52e)。

我为 securityPrincipal 尝试了所有这些:

john

john@mycompany

CN=john,conn

CN=john,OU=internal users,DC=mycompany

passwordsecuirityAuthentication 似乎被忽略。

我尝试从 http://www.ldapadmin.org/安装 LDAP 管理,并从中得到:

LDAP error! Invalid credentials: 80090308: LdapErr: DSID-0C0903A8, comment: AcceptSecurityContext error, data 52e, v1db1.

传递给函数的 token 无效。

不知何故,这告诉我更多“无效 token ”。

有什么指点吗?我被困住了。

最佳答案

在 securityAuthentication 中传递“none”而不是“simple”就可以完成任务。

至少没有异常(exception),即使UserVerifyT返回成功,即使密码错误,我也会像以前一样通过检索用户的邮件来处理这个问题,如果邮件返回密码就可以了。

关于java - java 应用程序中使用 jndi 时出现身份验证错误 49 52e - 无效 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47835112/

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