Я подключаюсь к серверу AD из своего приложения, используя LDAP. Я успешно прошел аутентификацию, но когда я ищу пользователя, он выдает исключение с кодом ошибки LDAP 32 в acl_read: instanceType для базы.
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*))))
Не уверен, что здесь происходит не так. Может ли кто-нибудь помочь мне в выявлении и устранении этой проблемы.
Спасибо
ldasearch
? - person EricLavault   schedule 14.11.2017CN=Users,DC=awssiladev,DC=mycomp,DC=com
- person samuelebe   schedule 14.11.2017'dc=awssiladev,dc=mycomp,dc=com'
и user base:'cn=Users'
- person EricLavault   schedule 14.11.2017TOP_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=DC=awssiladev,DC=mycomp
- person samuelebe   schedule 14.11.2017DN_PREFIX
кажется странным, я бы попробовалDN_PREFIX=CN=
(илиDN_PREFIX=CN
) - person EricLavault   schedule 14.11.2017