Re: Re: Squid Ldap

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

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

On Mon, May 31, 2004 at 10:36:38AM +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 библиотеки.

С уважением,
  Михаил Кулаков Получено Mon May 31 07:10:01 2004

Этот архив был сгенерирован hypermail 2.1.8 : Tue 21 Feb 2006 - 03:15:01 MSK