Я работаю с поставщиком услуг, который управляет хостингом виртуального сервера и настройкой сервера LDAP.
Моя задача - создать приложение PHP, которое использует LDAP для создания пользователя при входе в систему (для простоты).
После многих акций у поставщика услуг я наконец-то могу связаться с сервером LDAP со следующими данными:
ldapsearch -x -LLL -h vmdc2.local -D email@local -w myPassword -b"CN=xxx,OU=APPLICATIF,OU=GROUPES,OU=UTILISATEUR,DC=enterprise,DC=local"
Это происходит из ldap-utils Linux пакет. Этот запрос возвращает хорошие результаты .
Итак, я создал простой скрипт, пытаясь использовать предыдущий DN для вывода списка пользователей в CLI, для доказательства работы в PHP.
<?php
// create connection to LDAP server
$ldapconn = ldap_connect("ldap://vmdc2.local")
or die("Impossible to connect to the LDAP server.");
$ldapbind = ldap_bind($ldapconn, 'email@local', 'myPassword');
// check binding
if ($ldapbind) {
echo "Successfully connected to LDAP !" . PHP_EOL;
$dn = 'CN=xxx,OU=APPLICATIF,OU=GROUPES,OU=UTILISATEUR,DC=enterprise,DC=local';
$sr = ldap_list($ldapconn, $dn, 'cn=*');
if (false === $sr) {
die('Impossible to use the dn: ' . $dn . PHP_EOL);
}
$info = ldap_get_entries($ldapconn, $sr);
if ($info['count'] === 0) die('No entries :(');
for ($i=0; $i < $info["count"]; $i++) {
echo $info[$i]["cn"][0] . PHP_EOL;
}
} else {
$var = '';
ldap_get_option($ldapconn, LDAP_OPT_ERROR_STRING, $var);
echo "Connection to LDAP failed..." . PHP_EOL . $var . PHP_EOL;
}
Вывод скрипта No entries :(
Мои вопросы
Как я могу получить другой результат от PHP для того же DN?
Можно настроить, как сервер LDAP может отвечать, в функции, кто ему звонит?
Я впервые против LDAP, так что я заблудился: / Ваша помощь действительно приветствуется!