LDAP

cyborg

Новичок
Разбираюсь с LDAP авторизацией, непонятно, почему второй бинд странно работает?
Код:
$connect = ldap_connect($cfg_ldap_server);

echo 'try 1: ';

$bind = ldap_bind($connect, $cfg_ldap_user, $cfg_ldap_pass);
var_export($bind);
echo PHP_EOL, ldap_err2str(ldap_errno($connect)), PHP_EOL;

echo 'unbind: ';

ldap_unbind($connect);
echo ldap_err2str(ldap_errno($connect)), PHP_EOL;

echo 'try 2: ';

$bind = ldap_bind($connect, $cfg_ldap_user, $cfg_ldap_pass);
var_export($bind);
echo PHP_EOL, ldap_err2str(ldap_errno($connect)), PHP_EOL;
В итоге выводит
Код:
try 1: true
Success
unbind: Success
try 2: false
Success
Почему снова не коннектится или неверно отвечает?
 

AnrDaemon

Продвинутый новичок
А почему он должен коннектиться?… Ты его пытаешься заставить дважды авторизоваться в одном коннекте.
В зависимости от настроек сервера, он мог уже пойти обслуживать других посетителей после твоего анбинда.
(И, да, не мог бы ты избавить свой код от "PHP_EOL"? Читать невозможно.)
 
Последнее редактирование:

cyborg

Новичок
спс, нашел в коментах такую инфу, стало понятно:

ldap_unbind kills the link descriptor. So, if you want to rebind as another user, just bind again; don't unbind. Otherwise, you'll have to open up a new connection.
 
Сверху