Я пытаюсь подключиться к серверу ldap, который, по словам ИТ-специалиста клиента, не имеет сертификата SSL. Это тестовый файл в их домене, на котором установлен SSL. Допустим, файл находится в https://client.org/test_LDAP.php
Поэтому я использую очень простой код для подключения, который отлично работал с другим клиентом только в прошлом месяце:
ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, 7);
define("LDAP_SERVER","ldap://name.their.junk");
define("LDAP_BASE","CN=Users,DC=their,DC=junk");
$username = 'CN=Username,'.LDAP_BASE;
$password = "Password";
$ldap = ldap_connect(LDAP_SERVER, 389) or die("Can't connect to LDAP server");
ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3) ;
if (ldap_bind($ldap, $username, $password)) {
ldap_unbind($ldap);
echo 'OK - Login valid';
} else {
die(ldap_error($ldap) . ' (' . ldap_errno($ldap) . ')');
}
Если я запускаю код из домена с установленным SSL, означает ли это, что я ДОЛЖЕН использовать ldaps и порт 636, даже если на сервере AD клиента нет сертификата? Я пробовал код с обоими портами и обоими ldaps: и ldap: на незащищенном домене запуска, а также на его защищенном рабочем домене. Ничто не похоже на работу. Но он клянется, что имя пользователя и пароль верны, и все переменные верны, и сказал мне использовать их IP вместо имени хоста (например, ldap: 000.000.000.00).
Я что-то здесь не так делаю?
И да, у меня действительно есть настроенный LDAP на стороне моего сервера, потому что мы только что смогли сделать то же самое с другим клиентом недавно.
Любое понимание будет высоко ценится.