gpt4 book ai didi

java - 即使使用正确的凭据,LDAP 错误代码 49 AcceptSecurityContext 错误数据 52e v2580

转载 作者:行者123 更新时间:2023-12-01 23:08:03 24 4
gpt4 key购买 nike

我正在将 LDAP 身份验证添加到 spring-boot 应用程序中。所有设置均已相应设置,即使在提供正确的凭据后,我仍收到“LDAP 错误代码 49 AcceptSecurityContext 错误数据 52e v2580”错误。

我正在使用import javax.naming.Context;并提到了下面的代码。

String url = ldap_url;
String domain = ldap_domain;
String uname = request.getUsername();
String pwd = request.getPassword();
boolean authentication = false;
boolean error = true;
String msg;
String ldapSearchBase = "OU=TEST_OU, DC=DC2, DC=DC1";

// create env for initial context
Hashtable<String, String> env = new Hashtable<String, String>();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, url);
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "CN=" + uname + "@" + domain + "," + ldapSearchBase);
env.put(Context.SECURITY_CREDENTIALS, pwd);
NamingEnumeration results = null;

try {
LdapContext ctx = new InitialLdapContext(env, null);
authentication = true;
error = false;
} catch (NamingException e) {
logger.error("LDAP error for :{NamingException}" + e);
return ResponseEntity.ok(new ApiResponse(true, e.getMessage()));
} finally {
if (!error) {
msg = "Login success!!!";
} else {
msg = "Authentication failed!";
}
}

logger.info("exitinig...");

if (authentication) {
return ResponseEntity.ok(new ApiResponse(false, msg));
} else {
return ResponseEntity.ok(new ApiResponse(true, msg));
}

错误被捕获为 NamingException

最佳答案

LDAP 错误 code 49 ... data 52e 的错误响应“当用户名有效但密码/凭据无效时返回。”

可能存在基础设施问题,例如 when the domain controller computer account may not be synchronized with the Key Distribution Center (KDC) 。但是,当这种情况存在时,您可能会遇到更多其他问题。

关于java - 即使使用正确的凭据,LDAP 错误代码 49 AcceptSecurityContext 错误数据 52e v2580,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58391319/

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