1)
Поставил потестить новый 2.0.6. Поробовал настроить LDAP аутентификацию. Все ввожу нажимаю Тест - и просто серый экран.
И я вспомнил, что когда ставил 2.0.4 сверху выводилась ошибка типа "probably missing php-ldap packege". Установил и все заработало. Где-то проверка на ошибки сломалась. Это мелкий баг но все-таки может как-то сообщить разработчикам.
2)
Может кто-нибудь объяснить на кой нужен Bind DN? Зачем эта лишняя учетка?
Я сам на php не раз делал ldap аутентификацию и обходился обычно теми логином и паролем(Л/П) который указал пользователь при входе. Если Л/П уже указаны при входе зачем еще какая-то учетка которая к текущему пользователю не имеет ни какого отношения? Требуется знать только имя домена. Например:
3)Еще странное поведение при указании адреса (во всех версиях, в которых проверял), если указть
То не работает - пишет Unable to bind to server
Но если указать
То все ок.
И остается вопрос запросы идут по защищенному соединению?
Хотя в моих приложениях на php ldaps и 636 нормально всегда работали(пример выше).
Поставил потестить новый 2.0.6. Поробовал настроить LDAP аутентификацию. Все ввожу нажимаю Тест - и просто серый экран.
И я вспомнил, что когда ставил 2.0.4 сверху выводилась ошибка типа "probably missing php-ldap packege". Установил и все заработало. Где-то проверка на ошибки сломалась. Это мелкий баг но все-таки может как-то сообщить разработчикам.
2)
Может кто-нибудь объяснить на кой нужен Bind DN? Зачем эта лишняя учетка?
Я сам на php не раз делал ldap аутентификацию и обходился обычно теми логином и паролем(Л/П) который указал пользователь при входе. Если Л/П уже указаны при входе зачем еще какая-то учетка которая к текущему пользователю не имеет ни какого отношения? Требуется знать только имя домена. Например:
PHP Code:
$dc = ldap_connect('ldaps://mydomaincontroller',636) or exit("error ldap_connect");
ldap_set_option($dc, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($dc, LDAP_OPT_REFERRALS, 0);
$res = ldap_bind($dc,$_POST['username'].'@'.$domain,$_POST['password']);
if ($res == true)
{ /* аутентификация пройдена */ }
else
{ /* аутентификация не пройдена */ }
Code:
Хост: ldap[B]s[/B]://<domain controller> Порт: 636
Но если указать
Code:
Хост: ldap://<domain controller> Порт: 636
И остается вопрос запросы идут по защищенному соединению?
Хотя в моих приложениях на php ldaps и 636 нормально всегда работали(пример выше).
Comment