Интерфейс LDAP для AD требует привязки с использованием DN. Для аутентификации пользователя вы должны сначала найти DN этого пользователя - к счастью, вы можете найти DN, выполнив поиск по LDAP.
Если вы настраиваете AD для разрешения анонимных запросов (не делайте этого, если вы не уверены, что вы согласны с уменьшением безопасности), вы можете сделать
ldap_bind($connect, "", "")
$sr = ldap_search($connect, $base_dn, "(sAMAccountName=$username)")
А затем получите DN этого пользователя и перейдите к повторной привязке с DN и паролем пользователя.
Если вы включите , а не , включите анонимное связывание, тогда вы будете использовать идентификатор приложения для начального поиска, например:
ldap_bind($connect, "DN=LDAP_App,OU=Users,DC=Domain,DC=com", "thePassword")
$sr = ldap_search($connect, $base_dn, "(sAMAccountName=$username)")
А затем, как и выше, получить DN этого пользователя и перейти к повторной привязке.