Вопрос об авторизации
От: A3  
Дата: 13.04.04 09:11
Оценка:
Добрый день.

В виду несильной причастности к веб-программированию, но некоторой нужды в нем есть вопрос. Как организуется авторизация на сайте? У меня Perl под IIS. Написать табличку в mysql и организовать начальный вход на сайт — это я сподобился. Но как сайту знать, что это именно этот пользователь запрашивает следующую страницу? Как ему понять, что сессия закрыта? Вообще, как все это у нормальных людей организовано? Через cookies передавать ничего не хочется. Буду благодарен за ответы.
Re: Вопрос об авторизации
От: DrZubr Беларусь  
Дата: 13.04.04 09:29
Оценка:
Здравствуйте, A3, Вы писали:

A3>Добрый день.


A3>В виду несильной причастности к веб-программированию, но некоторой нужды в нем есть вопрос. Как организуется авторизация на сайте? У меня Perl под IIS. Написать табличку в mysql и организовать начальный вход на сайт — это я сподобился. Но как сайту знать, что это именно этот пользователь запрашивает следующую страницу? Как ему понять, что сессия закрыта? Вообще, как все это у нормальных людей организовано? Через cookies передавать ничего не хочется. Буду благодарен за ответы.


А почему через cookies ничего передавать не хочется? Обычно там живет sessionID
... << RSDN@Home 1.1.3 stable >>
ICQ [168117153]
Re: Вопрос об авторизации
От: Pavel_Lechenko Россия http://www.sdpm.ru
Дата: 13.04.04 09:41
Оценка:
Через кукисы ты однонозначно будешь передавать ID сессии. Хочешь ты этого или нет.

Авторизация производится в IIS 3 методами:
1) Анонимная. Сессия создается под указанным тобой юзером. По умолчанию это IUSR_XXXXXXX, где XXXXXXX — это имя сервера.
2) Открытый логин/пароль. Ты прописываешь NT-юзера на сервере или в домене и указываешь в IIS, где его искать/проверять
3) NTLM — IE умеет самостоятельно логиниться.
Во 2 случае у тебя в браузере вывалится окошко "Connect to ..."
В 3 случае в IE произойдет автоматическая авторизация (если она настроена в браузере). А в нетскапе/мозилле и других это не сработает.

Настраивается это следующим образом:
1) Открываешь свойства приложения в IIS
2) Открываешь закладку "Directory Security"
3) Жмешь кнопку "Edit"
4) Выбираешь то, что считаешь нужным.

Вот и все
... << RSDN@Home 1.1.0 stable >>
С уважением,
Леченко Павел

SDPM.RU — Сообщество Менеджеров Проектов Разработки Программного Обеспечения
Re[2]: Вопрос об авторизации
От: Gollum Россия  
Дата: 13.04.04 09:48
Оценка:
Здравствуйте, Pavel_Lechenko, Вы писали:

P_L>Авторизация производится в IIS 3 методами:

Только это аутентификация...
Моя смерть ездит в черной машине с голубым огоньком
Eugene Agafonov on the .NET

Re[2]: Вопрос об авторизации
От: anonymous Россия http://denis.ibaev.name/
Дата: 13.04.04 10:07
Оценка:
Здравствуйте, Pavel_Lechenko, Вы писали:

P_L>3) NTLM — IE умеет самостоятельно логиниться.

P_L>В 3 случае в IE произойдет автоматическая авторизация (если она настроена в браузере). А в нетскапе/мозилле и других это не сработает.

Mozilla это уже умеет...
Re: Вопрос об авторизации
От: anonymous Россия http://denis.ibaev.name/
Дата: 13.04.04 10:10
Оценка:
Здравствуйте, A3, Вы писали:

A3>В виду несильной причастности к веб-программированию, но некоторой нужды в нем есть вопрос. Как организуется авторизация на сайте? У меня Perl под IIS. Написать табличку в mysql и организовать начальный вход на сайт — это я сподобился. Но как сайту знать, что это именно этот пользователь запрашивает следующую страницу? Как ему понять, что сессия закрыта? Вообще, как все это у нормальных людей организовано? Через cookies передавать ничего не хочется. Буду благодарен за ответы.


посмотри CGI::Session...
Re[2]: Вопрос об авторизации
От: A3  
Дата: 13.04.04 10:19
Оценка:
Здравствуйте, Pavel_Lechenko, Вы писали:

P_L>Через кукисы ты однонозначно будешь передавать ID сессии. Хочешь ты этого или нет.


P_L>Авторизация производится в IIS 3 методами:

P_L>1) Анонимная. Сессия создается под указанным тобой юзером. По умолчанию это IUSR_XXXXXXX, где XXXXXXX — это имя сервера.
P_L>2) Открытый логин/пароль. Ты прописываешь NT-юзера на сервере или в домене и указываешь в IIS, где его искать/проверять
P_L>3) NTLM — IE умеет самостоятельно логиниться.
P_L>Во 2 случае у тебя в браузере вывалится окошко "Connect to ..."
P_L>В 3 случае в IE произойдет автоматическая авторизация (если она настроена в браузере). А в нетскапе/мозилле и других это не сработает.

P_L>Настраивается это следующим образом:

P_L>1) Открываешь свойства приложения в IIS
P_L>2) Открываешь закладку "Directory Security"
P_L>3) Жмешь кнопку "Edit"
P_L>4) Выбираешь то, что считаешь нужным.

P_L>Вот и все


Но это все авторизация через юзеров/пароли на серваке. Я же пытаюсь получать данные из своей mysqlевой таблички, где на каждого юзера прописаны его некоторые права и обязанности. И не хочется всех юзеров загонять на NT-сервак. И нельзя ли поподробнее о SessionID ? Когда и где он возникает? Заранее спасибо.
Re[3]: Вопрос об авторизации
От: Pavel_Lechenko Россия http://www.sdpm.ru
Дата: 13.04.04 10:32
Оценка:
Здравствуйте, A3, Вы писали:

A3>Но это все авторизация через юзеров/пароли на серваке. Я же пытаюсь получать данные из своей mysqlевой таблички, где на каждого юзера прописаны его некоторые права и обязанности. И не хочется всех юзеров загонять на NT-сервак. И нельзя ли поподробнее о SessionID ? Когда и где он возникает? Заранее спасибо.


В общем так — в IIS ставишь анонимный доступ, а до БД стучишься с заранее определенным и прописанным логином/паролем, либо с теми, которые ввел юзер. Но тогда их надо хранить в сессии.

SessionID пишется в кукисы браузера. Он необходим для того, чтобы тебе можно было уникально идентифицировать открытую сессию. Браузер ведь как работает — присоединился, получил инфу, отсоединился. Для того, чтобы ему сказать серверу, что это точно он в прошлый раз присоединялся и создавал сессию, он передает серверу свой SessionID.

В принципе, можно обойтись и без кукисов, но тогда надо будет отсылать этот идентификатор как параметр страницы.
С уважением,
Леченко Павел

SDPM.RU — Сообщество Менеджеров Проектов Разработки Программного Обеспечения
Re: Вопрос об авторизации
От: AndreyGTS  
Дата: 13.04.04 12:40
Оценка:
А передавать индефикатор сесии через форму не пробывал? Юзер авторизовался, для него сгенерился SID, его помещаешь в базу и в форму на странице. Когда юзер переходит на другую страницу по ссылке, органезуешь отправку данных с формы (через JavaScript), сервер получив SID ищет его в базе, и если находит то всё ОК. это тот самый юзер, а если нет то посылает авторизовываться. SID лучше случайный генерить, и при каждой авторизации обновлять его в базе.
Re[2]: Вопрос об авторизации
От: King Oleg Украина http://kingoleg.livejournal.com
Дата: 13.04.04 13:51
Оценка:
Здравствуйте, AndreyGTS, Вы писали:

AGT>SID лучше случайный генерить, и при каждой авторизации обновлять его в базе.

Можно хоть при каждом коннекте менять
King Oleg
*Читайте DOC'и, они rules*
Re[2]: Вопрос об авторизации
От: glyph  
Дата: 17.04.04 07:43
Оценка:
AGT>А передавать индефикатор сесии через форму не пробывал? Юзер авторизовался, для него сгенерился SID, его помещаешь в базу и в форму на странице. Когда юзер переходит на другую страницу по ссылке, органезуешь отправку данных с формы (через JavaScript), сервер получив SID ищет его в базе, и если находит то всё ОК. это тот самый юзер, а если нет то посылает авторизовываться. SID лучше случайный генерить, и при каждой авторизации обновлять его в базе.
Ага. А очень шибко грамотный юзверь сохранит страничку на диск и подправит в форме ИД. И получим перехват сессии. С кукисами надежнее, главное, не храни там ИД в открытом виде.
Re[3]: Вопрос об авторизации
От: anonymous Россия http://denis.ibaev.name/
Дата: 17.04.04 08:39
Оценка:
Здравствуйте, glyph, Вы писали:

AGT>>А передавать индефикатор сесии через форму не пробывал? Юзер авторизовался, для него сгенерился SID, его помещаешь в базу и в форму на странице. Когда юзер переходит на другую страницу по ссылке, органезуешь отправку данных с формы (через JavaScript), сервер получив SID ищет его в базе, и если находит то всё ОК. это тот самый юзер, а если нет то посылает авторизовываться. SID лучше случайный генерить, и при каждой авторизации обновлять его в базе.

G> Ага. А очень шибко грамотный юзверь сохранит страничку на диск и подправит в форме ИД. И получим перехват сессии. С кукисами надежнее, главное, не храни там ИД в открытом виде.

а что мешает редактировать куки?...
Re[4]: Вопрос об авторизации
От: glyph  
Дата: 17.04.04 12:03
Оценка:
G>> Ага. А очень шибко грамотный юзверь сохранит страничку на диск и подправит в форме ИД. И получим перехват сессии. С кукисами надежнее, главное, не храни там ИД в открытом виде.
A>а что мешает редактировать куки?...
Вот я и говорю — не хранить ИД в куки. Хранить там некоторое f(ИД). Количество сессий конечно, можно перебрать все сессии и сравнить хэши ИД с хэшем, взятым из куки. Тупо, конечно, и не подходит для огромного количества сессий.
Re[3]: Вопрос об авторизации
От: Andir Россия
Дата: 18.04.04 02:09
Оценка:
Здравствуйте, anonymous, Вы писали:

P_L>>3) NTLM — IE умеет самостоятельно логиниться.

P_L>>В 3 случае в IE произойдет автоматическая авторизация (если она настроена в браузере). А в нетскапе/мозилле и других это не сработает.

A>Mozilla это уже умеет...


Как и нетскейп впрочем.

С Уважением, Andir!
<-- using(RSDN@Home 1.1.3 beta 2) {/* Работаем */} -->
Re[4]: Вопрос об авторизации
От: anonymous Россия http://denis.ibaev.name/
Дата: 18.04.04 02:55
Оценка:
Здравствуйте, Andir, Вы писали:

A>Здравствуйте, anonymous, Вы писали:


P_L>>>3) NTLM — IE умеет самостоятельно логиниться.

P_L>>>В 3 случае в IE произойдет автоматическая авторизация (если она настроена в браузере). А в нетскапе/мозилле и других это не сработает.

A>>Mozilla это уже умеет...

A>Как и нетскейп впрочем.

Netscape — это Mozilla после неудачной пластической операции...
Re: Вопрос об авторизации
От: gribunin Россия  
Дата: 18.04.04 08:26
Оценка:
Здравствуйте, A3,

Есть ещё такой экзотический способ авторизации, как клиентские сертификаты. В этом случае, при регистрации клиент генерирует запрос на сертификат (certificate request), сервер подписывает его и присылает клиенту подписанный сертификат, который на стороне клиента инсталлируется в браузер.

Затем, при дальнейшем входе на сайт, сервер запрашивает сертификат клиента и данные из этого сертификата доступны внутри любых скриптов, работающих под управлением веб-сервера.

Клиентские и серверные скрипты для организации такого процесса с описанием можно найти тут
----------------
Кирилл Грибунин
Re[5]: Вопрос об авторизации
От: Andir Россия
Дата: 19.04.04 01:00
Оценка:
Здравствуйте, anonymous, Вы писали:

P_L>>>>А в нетскапе/мозилле и других это не сработает.

A>>>Mozilla это уже умеет...
A>>Как и нетскейп впрочем.

A>Netscape — это Mozilla после неудачной пластической операции...


А FireFox это после удачного хирургического вмешательства .

С Уважением, Andir!
<-- using(RSDN@Home 1.1.3 beta 2) {/* Работаем */} -->
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.