Hello!
On Mon, 31 May 2004 CGatePro@mx.ru wrote:
> > > Почему SEARCH-то? К Вам приходят и говорят "Я Вася, у меня то-то и то-то".
> > > Вы что, действительно будете искать Васю по всем сусекам, или просто
> > > подойдете к шкафу с надписью "Васи", откроете его, и вытащите карточку с
> > > надписью "Вася"?
> > >
> > > Откуда тут берется какой-то SEARCH?!
> > Вот только что посмотрел RFC-2251 . Нашел там операции
> > BIND, UNBIND, SEARCH, Modify, Add, Delete, Compare, Abandon и
> > ExtendedRequest. Если SEARCH пользоваться нельзя, то как получить
> > данные? (Что DN однозначно определяет одну запись - это понятно.)
>
> Не надо получать данные.
>
> Вам надо сделать идентификацию пользователя, это boolean операция, она
> возвращает либо "да", либо "нет" - нет возврата данных. У ldap тоже самое
> делает ldap_bind*. То есть надо в n итераций набрать достаточно данных для
> вызова того или иного ldap_bind*:
>
> int ldap_bind(ld, who, cred, method)
> int ldap_bind_s(ld, who, cred, method)
> int ldap_simple_bind(ld, who, passwd)
> int ldap_simple_bind_s(ld, who, passwd)
> int ldap_kerberos_bind_s(ld, who)
> int ldap_kerberos_bind1(ld, who)
> int ldap_kerberos_bind1_s(ld, who)
> int ldap_kerberos_bind2(ld, who)
> int ldap_kerberos_bind2_s(ld, who)
>
> ( у меня достаточно старая библиотека от openldap непомнюверсии :) ),
> позвать этот ldap_bind и вернуть cgp/пользователю результат операции: если
> успешно, то считает пользователь идентифицированным, если не успешно, то
> не идентифицированным.
>
> Далее, если все ldap_bind отработал успешно ( мы идентифицировали
> пользователя ) - надо не забыть позвать ldap_unbind*, чтобы не плодить
> возможного memory leak в ldapd сервисе.
>
> Если мы не собираетесь реализовывать ldap ( ПРОТОКОЛ ) самостоятельно, то
> читать надо не только/сколько rfs по протолоку, а еще и rfc по c-binding:
> 1823. Можно читать сам rfc, можно читать документацию от Вашей ldap библиотеки.
Опять 25... В том, на что вы ответили, разговор шел о
внешней системе, которой может потребоваться получить пароль пользователя
из LDAP в явном виде. Приведенные вами вызовы этого сделать не позволяют.
Ниже, господин Бутенко описал идею прокси, которая приведенными
вызовами не реализуется - там надо лезть внутрь библиотеки.
Bye. Alex.
--Получено Mon May 31 07:21:28 2004
Этот архив был сгенерирован hypermail 2.1.8 : Fri 24 Apr 2015 - 16:13:06 MSK