Welcome! Log In Create A New Profile

Advanced

Re: Асинхронная авторизация

Deomid Ryabkov
January 16, 2010 03:10AM
Vladimir Romanov wrote:
> Кука выдается сразу пользователю чтобы понять когда он придет повторно
> с того-же устройства. Один и тот-же пользователь может приходить с
> разных компьютеров и различать их просто по имени пользователя не
> получится.
>
а зачем? к вам приходит юзер без валидной авторизационной куки,
но с логином и паролем. какая вам разница, с какого он устройства?
вы идёте в аутентификатор, проверяете юзер/пароль и либо выдаёте ему
кук и редирект, либо отправляете далеко. при этом надо различать
состояния "лдап перегружен, приходи позже" и "лдап сказал, что пароль
неправильный".
ну тут уж как удобнее, на второй случай можно предусмотреть 403,
а на первый давать отлупы 401.

аутентификатор, естественно, должен быть выполнен в виде бэкенда.
а вот валидность авторизационной куки можно проверить встроенным:
посчитать и сличить дайджест, проверить что-нибудь простенькое типа
expiration
(поле внутри тикета, защищённое дайджестом - в таком важном деле как
экспайр авторизации
полагаться на одну только честность и порядочность юзер-агента нельзя).

> Не хочется отсылать LDAP запрос из NGINX, т.к. он может выполняться не
> быстро и это оприведет к задержкам в обработке других запросов. Также
> есть идея, что если лимита хватает то проверять ранее выданные куки. А
> это уж точно надо делать отдельным процессом.
> LDAPов у меня несколько и надо еще понимать в какой из них лезть (по
> IP) и лимит считать отдельно для каждого. Еще периодически надо
> пречитывать таблицу с LDAPами и обновлять внутренние структуры.
>
> 2010/1/16 Deomid Ryabkov <myself@rojer.pp.ru>:
>
>> Vladimir Romanov wrote:
>>
>>> Добрый день!
>>>
>>> Работаю я тут над одним проектом. И етсь там задача авторизации
>>> пользователей, причем достаточно хитрая. Пользователи могут приходить
>>> из разных регионов. В каждом регионе свой LDAP. При этом есть
>>> ограничение - нельза слать больше чем N запросов в секнуду на каждый
>>> LDAP. В качестве клиента будет выступать приложение на компьютере
>>> пользователя. Как я хочу сделать сейчас.. При запроме пользователя
>>> выдавать ему куку
>>>
>> зачем?
>>
>>> и возвращать ему 401, а информацию заносить в базу.
>>>
>>>
>> опять же - зачем?
>>
>>> Отдельный процесс будет выбирать записи из базы, и посылать запросы в
>>> нужный LDAP c указанной скоростью. При последующих запросах
>>> пользователя уже можно будет пропустить.
>>> Есть ли более правильные способы?
>>>
>>>
>> имхо, просто сделать авторизационный процесс, который делает авторизацию
>> с нужным рейт-лимитом, а всё что свыше лимита - посылает нафиг.
>> куку пользователю выдавать только после успешной авторизации,
>> в результате со временем все пользователи будут окучены (то есть обзаведутся
>> куками :)
>> и перестанут трогать лдап. щастье наступает при условии что пропускной
>> способности лдапа
>> таки хватает на окучивание пользователей/реавторизацию (если для кук
>> предусмотрено ограниченное время жизни).
>> держать очередь запросов, считаю, совершенно нет нужды - пусть клиенты
>> проявляют настойчивость,
>> тем более что они, как я понял, железные, а не сидят и не тычут в кнопку
>> "login".
>>
>> --
>> Deomid "rojer" Ryabkov
>> myself@rojer.pp.ru
>> rojer@sysadmins.ru
>> ICQ: 8025844
>>
>>
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru@nginx.org
>> http://nginx.org/mailman/listinfo/nginx-ru
>>
>>
>>
>
>
>
>


--
Deomid "rojer" Ryabkov
myself@rojer.pp.ru
rojer@sysadmins.ru
ICQ: 8025844

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Attachments:
open | download - smime.p7s (3.2 KB)
Subject Author Posted

Асинхронная авторизация

vromanov January 11, 2010 01:04AM

Re: Асинхронная авторизация

Kirill A. Korinskiy January 11, 2010 05:08AM

Re: Асинхронная авторизация

vromanov January 11, 2010 07:00AM

Re[2]: Асинхронная авторизация

Михаил Монашёв January 11, 2010 07:14AM

Re: Асинхронная авторизация

Alex Vorona January 11, 2010 07:20AM

Re: Re[2]: Асинхронная авторизация

vromanov January 11, 2010 07:22AM

Re: Re[2]: Асинхронная авторизация

Ihalainen Nickolay January 11, 2010 07:40AM

Re: Re[2]: Асинхронная авторизация

Valery Kholodkov January 11, 2010 07:40AM

Re: Асинхронная авторизация Attachments

Deomid Ryabkov January 16, 2010 12:18AM

Re: Асинхронная авторизация

vromanov January 16, 2010 01:48AM

Re: Асинхронная авторизация Attachments

Deomid Ryabkov January 16, 2010 03:10AM

Re: Асинхронная авторизация

vromanov January 16, 2010 06:18AM

Re: Асинхронная авторизация Attachments

Deomid Ryabkov January 16, 2010 03:24PM

Re: Асинхронная авторизация

vromanov January 17, 2010 01:06AM

Re: Асинхронная авторизация Attachments

Deomid Ryabkov January 17, 2010 05:08AM

Re: Асинхронная авторизация

vromanov January 17, 2010 06:18AM

Re: Асинхронная авторизация Attachments

Deomid Ryabkov January 17, 2010 12:06PM

Re: Асинхронная авторизация

vromanov January 17, 2010 12:38PM

Re[2]: Асинхронная авторизация

akalend January 17, 2010 04:22AM

Re: Re[2]: Асинхронная авторизация

vromanov January 17, 2010 06:04AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 145
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready