Из-за очень сложной многодоменной среды у нас работает сервер OpenLDAP, который действует как обратный прокси для компонентов, которые допускают интеграцию только одного домена.
До сих пор это работало очень хорошо, но теперь мы сталкиваемся с странной проблемой, когда пользователь должен изменить свой пароль.
Если мы сделайте ldapbind напрямую с внутренним контроллером домена с действующими учетными данными, мы получим сообщение об ошибке «Invalid credentials (49)», НО, и в этом суть, мы также получаем дополнительную информацию, в которой мы можем видеть ошибку контекста «773», которая сообщает нам, что предоставленные учетные данные были правильными, но пользователю необходимо изменить свой пароль.
ldapsearch -H ldaps://SubCompanyADServer -b "dc=subcompany2,dc=local" -D "cn=Mustermann MAX,ou=Users,dc=subcompany2,DC=local" "samAccountName=mustermann" -x -w CORRECTPW
ldap_bind: Invalid credentials (49)
additional info: 80090308: LdapErr: DSID-0C090442, comment: AcceptSecurityContext error, data 773, v3839
Если я сделаю то же самое с сервером OpenLDAP, Я получаю только сообщение об ошибке «ldap_bind: Invalid credentials (49)» без дополнительной информации.
ldapsearch -H ldaps://OPENLDAPSERVER -b "dc=companygroup,dc=local" -D "cn=Mustermann MAX,ou=Users,dc=subcompany2,dc=companygroup,dc=local" "samAccountName=mustermann" -x -w CORRECTPW
"ldap_bind: Invalid credentials (49)"
Конфигурация OpenLDAP:
Вы знаете способ настроить OpenLDAP для пересылки дополнительной информации?
Вопрос - при вводе пароля свои спецсимволы? Если это так, вам может понадобиться использовать escape-символ \
--- пример для пароля !!P@ssword12345!!
ldapsearch -H ldaps://SubCompanyADServer -b "dc=subcompany2,dc=local" -D "cn=Mustermann MAX,ou=Users,dc=subcompany2,DC=local" "samAccountName=mustermann" -x -w \!\!P\@ssword12345\!\!
Мы пытались настроить наш ldapbind и столкнулись с аналогичной проблемой с аутентификацией, которая оказалась проблемой с паролем.