On Mon, 31 May 2004 11:31:33 +0400
<CGatePro@mx.ru> (Michael Kulakov) wrote:
>
> Если я правильно и внимательно прочитал текст от г-на Бутенко, то речь там
> идет именно о запросе с пользователя в несколько отераций достаточного
> кол-ва данных для вызова ldap_bind*.
Насколько *я понял*, речь исходно шла о следующем:
есть некая система (squid), позволяющая пользователям, работающим по ее протоколам (допустим, HTTP) пред"являть свои credentials, для того, чтобы получить от системы более вкусное обслуживание.
Ставилась задача - как проверить эти credentials (то есть аутентифицировать юзера) через LDAP, подсоединяясь с другой стороны к CGatePro.
Ответ на эту (понятую мною, не факт что исходно предложенную) задачу
сводился
к тому, что надо просто делать в этой системе LDAP BIND. При этом были
сделаны следующие замечания:
1) LDAP BIND должен быть именно LDAP BIND, а не экзерсисы пионеров, которые
сначале сделают SEARCH по из пальца высосанным критериям и найдут непонятно
что в качесте BIND DN. BIND DN должна формировать сама система, сообразно
Directory Layout используемой директории. В случае CGatePro default layout
дает для BIND DN uid=<username>,cn=<domainname>
2) для имплементирования не-plain методов аутентификации необходимо "протянуть" SASL-переговоры через систему, выступающую в данном случае как прокси. В случае, если система обслуживает сессионные протоколы (на которые рассчитан SASL) это не есть проблема, а вот в случае транзакционного протокола (типа HTTP) это таки проблема. Далее я не претендую на строгость и правильность, но вот примерная схема: (C: - HTTP client, S: - squid, L: squid ldap client A: CGatePro LDAP server)
C: GET / something
L: LDAP BINDRequest: method=DIGEST-MD5 A: LDAP BINDresponse:challenge=".....,nonce=zzzzz,realm=kkkkkk,opaque=hhhh,qop=auth,alg=MD5-sess" S: 401 AUTH needed
WWW-Authenticate: DIGEST
realm="kkkkkk",nonce="zzzzzzz",opaque="hhhhhh",qop="auth",algorithm=MD5
C: GET /
Authorization: Digest username="user", realm="kkkkkk", qop="auth",
algorithm=md5,uri="zzzzzAccess.html", nonce="zzzzzzz",realm="kkkkkkkk"
L: LDAP BINDRequest: ..... L: LDAP BINDResponse: OK/BADS: 200 OK
<data>
Sincerely,
Vladimir
Получено Mon May 31 10:27:44 2004
Этот архив был сгенерирован hypermail 2.1.8 : Tue 21 Feb 2006 - 03:15:01 MSK