检索 base 的 instanceType 时出错 - LDAP 搜索

Error retrieving instanceType for base - LDAP Search

我正在使用 LDAP 从我的应用程序连接到 AD 服务器。我已成功通过身份验证,但是当我搜索用户时,它会引发异常,其中 LDAP 错误代码 32 in acl_read: instanceType for base.

javax.naming.NameNotFoundException: [LDAP: error code 32 - acl_read: Error retrieving instanceType for base. at ../source4/dsdb/samdb/ldb_modules/acl_read.c:362]
at com.sun.jndi.ldap.LdapCtx.mapErrorCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.searchAux(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.c_search(Unknown Source)
at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(Unknown Source)
at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(Unknown Source)
at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(Unknown Source)
at javax.naming.directory.InitialDirContext.search(Unknown Source)

我已经验证了baseDN、域名和端口,它们是正确的,我们可以连接到它。

我从日志中获取了查询字符串,并在 AD 浏览器的自定义搜索中验证了相同的内容。它似乎工作正常并返回结果。

Query from Logs: (&(objectClass=user)(objectCategory=person)(|(|(sAMAccountname=*MSUser1*)(givenName=*MSUser1*)(sn=*MSUser1*))))

不确定这里出了什么问题。有人可以帮助我识别和解决这个问题吗?

谢谢

问题出在 baseDN 本身。我们已经正确配置了 LDAP,但是在代码的某处有一个 属性 文件覆盖了我们在设置中的 baseDN。很难识别它,因为它没有在任何地方记录,我们不得不反编译所有 class 文件以获取该文件的详细信息。

与此同时,我们修改了 TOP_OU、USERS_OU 和 DN_PREFIX,然后它开始吸引所有用户。

TOP_LEVEL_OU_OR_GROUP_DN=DC=awssiladev,DC=mycomp,DC=com
USER_OU_OR_GROUP_DN=CN=Users,DC=awssiladev,DC=mycomp,DC=com
DN_PREFIX=CN=