Безопасное подключение к ldap для чайников

Я боролся в течение нескольких дней без какого-либо прогресса, для начала у меня очень мало знаний о 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

Некоторая информация о проекте

  1. Он будет размещен во внутренней сети на уровне предприятия.
  2. Все пользователи должны иметь к нему доступ только из этой внутренней сети.
  3. Для тестирования я в настоящее время работает PHP на XAMPP,
  4. Производство будет использовать сервер Windows с IIS

Ниже приведены некоторые вещи, которые я пытаюсь выяснить

  1. Как определить, нужно ли подключать Active Directory к «ldap» или «ldaps»
  2. Должно ли имя пользователя быть просто именем пользователя? или «домен / имя пользователя»
  3. Я много читал о необходимости перекомпилировать php с открытыми ldaps вместе с ssl для ldaps, так как это стек xxamp, возможно ли вообще, если да, то как, если нет, каковы альтернативы?
  4. Как именно использовать ldap_connect () в этом контексте, должно ли это быть:
    • ldap_connect ( «локальный»);
    • ldap_connect ( «LDAP (s): // локальный»);
    • ldap_connect ( «ad.orgsitedomain.com»);
  5. Есть ли какая-либо информация, которую мне нужно получить от команды Active Directory, если да, то что это будет.

Дайте мне знать, если вам понадобится дополнительная информация. Спасибо

0

Решение

Я решил проблему, так как нет ответов, вот как я это сделал.

Во-первых, и самое главное, если вы новичок в 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, все остальное было просто. Интересно, почему это не было упомянуто во всех постах, с которыми я столкнулся?

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector