Здравствуйте!
On Mon, May 31, 2004 at 11:20:18AM +0400, Alexander V Alekseev 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 в явном виде. Приведенные вами вызовы этого сделать не позволяют.
Не возволяют.
> Ниже, господин Бутенко описал идею прокси, которая приведенными > вызовами не реализуется - там надо лезть внутрь библиотеки.
Если я правильно и внимательно прочитал текст от г-на Бутенко, то речь там идет именно о запросе с пользователя в несколько отераций достаточного кол-ва данных для вызова ldap_bind*.
С уважением,
Михаил Кулаков
Получено Mon May 31 07:31:34 2004
Этот архив был сгенерирован hypermail 2.1.8 : Tue 21 Feb 2006 - 03:15:01 MSK