某些用户的 LDAP 错误代码为 8,但其他用户则不然

问题描述 投票:0回答:1

我有一些问题。

列出的错误:

LDAP error code 8

服务器日志:

javax.naming.AuthenticationNotSupportedException: [LDAP: error code 8 - 00002028: LdapErr: DSID-0C090202, comment: The server requires binds to turn on integrity checking if SSL\TLS are not already active on the connection, data 0, v2580 ]

问题行动(?):

  • 客户端向服务器发出登录请求。服务器向 LDAP 发送请求。有些人可以成功登录,但有些人登录失败:

    LDAP 响应错误代码 8

服务器日志得到 [javax.naming.AuthenticationNotSupportedException: [LDAP: 错误代码 8 - 00002028: LdapErr: DSID-0C090202,注释:如果 SSL\TLS 在连接上尚未处于活动状态,服务器需要绑定来打开完整性检查,数据0,v2580]]

但我正在使用 LDAP。没有 LDAPS。

  • 有人说检查下
    KRDOM01 : HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ NTDS \ Parameters \ LDAPServerIntegrity = 1

但是我的设置已经是

LDAPServerIntegrity = 1

我的代码:

    Hashtable<String, Object> env = new Hashtable<String, Object>();
    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
    env.put(Context.PROVIDER_URL, "ldap://"+host+":"+port);
    env.put(Context.SECURITY_AUTHENTICATION, "simple");
    env.put(Context.SECURITY_PRINCIPAL, principal);
    env.put(Context.SECURITY_CREDENTIALS, pwd);


    

为什么有的人可以登录,有的人登录失败?

java ldap jndi
1个回答
0
投票

这些错误表明您的 LDAP 服务器设置为“需要签名”。

如果您使用 SSL 连接,则不需要数据签名。4

如果您能够成功绑定,那么我会“猜测”您第一次连接到的服务器没有启用签名,并且您将被引用到启用了签名的域控制器。

参见: https://support.microsoft.com/en-us/help/2545140/fast-esp-unable-to-use-active-directory-accounts-for-authentication-login-fails-with-ldaperr-dsid-0c0901fc

© www.soinside.com 2019 - 2024. All rights reserved.