Re: Re: Squid Ldap

От: Michael Kulakov <CGatePro_at_mx_ru>
Дата: Mon 31 May 2004 - 11:31:33 MSD

Здравствуйте!

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