Я боролся в течение нескольких дней без какого-либо прогресса, для начала у меня очень мало знаний о LDAP и Active Directory. Мне нужно использовать php для подключения к серверу ldap через предприятие, а затем просто выполнить связывание.
Я просмотрел много материалов об этом онлайн, но ни один, кажется, не отвечает на мой вопрос в явной форме. Кроме того, сообщается, что сообщения об ошибках, которые я получаю, имеют много причин, что еще более усложняет задачу.
Вот мой текущий код
putenv('LDAPTLS_REQCERT=allow');
$ldaprdn = 'user'; // ldap rdn or dn
$ldappass = 'password';
$ldapconn = ldap_connect("ldaps:\\localhost")
or die("failed");
if (ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3)) {
echo "Using LDAPv3\n";
} else {
echo "Failed to set protocol version to 3"; }
if ($ldapconn) {
//ldap_bind() will fail without ldap_start_tls()
if (ldap_start_tls($ldapconn)) {
echo "LDAP TLS Started";
}
$ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);
if ($ldapbind) {
echo "LDAP bind OK";
} else {
echo "LDAP bind FAIL";
}
}
Эти выводы «не удалось»,
но если я изменю
$ldapconn = ldap_connect("ldaps:\\localhost")
//to
$ldapconn = ldap_connect("localhost")
Это выход
Using LDAPv3
Warning: ldap_start_tls(): Unable to start TLS: Can't contact LDAP server
in C:\xampp\htdocs\OOP_curater\index.php on line 18
Warning: ldap_bind(): Unable to bind to server: Can't contact LDAP
server in C:\xampp\htdocs\OOP_curater\index.php on line 22
LDAP bind FAIL
Некоторая информация о проекте
Ниже приведены некоторые вещи, которые я пытаюсь выяснить
Дайте мне знать, если вам понадобится дополнительная информация. Спасибо
Я решил проблему, так как нет ответов, вот как я это сделал.
Во-первых, и самое главное, если вы новичок в Active Directory, прежде чем читать какие-либо материалы, загрузите Active Directory Explorer. При изучении вашего решения у вас будет гораздо больше информации о каждом аспекте Active Directory.
Как определить, нужно ли подключать Active Directory к «ldap» или «ldaps»
Я действительно понятия не имею пока, только попробовал ldaps и ldap, оба, казалось, работали
Должно ли имя пользователя быть просто именем пользователя? или «домен / имя пользователя»
Это должно быть «Домен / Имя пользователя»
Я много читал о необходимости перекомпилировать php с открытыми ldaps вместе с ssl для ldaps, так как это стек xxamp, возможно ли вообще, если да, то как, если нет, каковы альтернативы?
Опять же, мне не нужно было этого делать, так что на самом деле до сих пор не знают
Как именно использовать ldap_connect () в этом контексте
Это должен быть ldap: // DOMAIN по крайней мере в моем случае
Итак, еще раз, единственное, что мне действительно нужно, это Active Directory Explorer, все остальное было просто. Интересно, почему это не было упомянуто во всех постах, с которыми я столкнулся?
Других решений пока нет …