繁体   English   中英

LDAP 错误代码 49 AcceptSecurityContext 错误数据 52e v2580 即使凭据正确

[英]LDAP error code 49 AcceptSecurityContext error data 52e v2580 even with the correct credentials

我正在向 spring-boot 应用程序添加 LDAP 身份验证。 全部设置相应,即使提供了正确的凭据,我也会收到“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 错误代码 49... 数据 52e “当用户名有效但密码/凭据无效时返回。”

可能存在基础架构问题,例如域 controller 计算机帐户可能无法与密钥分发中心 (KDC) 同步 但是,当这种情况存在时,您可能会遇到更多其他问题。

当您的帐户需要智能卡才能登录时,可能会发生这种情况。

Active Directory 中有一个名为“交互式登录需要智能卡”的设置。

在此处输入图像描述

如果您指定用户名而不是 windows 域,您可能会在 Active Directory(Windows 流行的 LDAP 实现)中遇到此错误。

这是你应该做的:

用户名:<YOUR_WINDOWS_DOMAIN><YOUR_USERNAME>

密码:<您的密码>

暂无
暂无

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

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