Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Аутентификация  (Прочитано 15647 раз)
0 Пользователей и 1 Гость смотрят эту тему.
aleksk
Гость
« : 16-05-2007 18:32 » 

Подскажите , что такое внешняя аутентификация? И создаются ли какие нибудь сесии сервером или надо самому их создавать средствами PHP(или другими) при использовании HTTP-аутентификации?Спасибо!!!
Записан
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #1 : 17-05-2007 04:22 » 

Вообще для этого существуют уже готовые библиотеки PHP, наример, для ldap аутентификации.
Записан

Странно всё это....
aleksk
Гость
« Ответ #2 : 17-05-2007 13:50 » 

Если можно то подробнее!!! Просто я не это спрашивал А черт его знает...
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 17-05-2007 16:51 » 

aleksk, уточни, что ты имеешь в виду под "HTTP-аутентификацией"?

Сущестуют способы аутентификации, созданные как раз для протокола HTTP, - они описаны в соотв. RFC. Обычно они обрабатываются HTTP-сервером. Например, Basic HTTP authentication в браузере выглядит как всплывающее окно с приглашением ввода логина и пароля.

Наиболее распространены сейчас в Интернете способы, ничего общего с HTTP (кроме того, что он используется как транспорт) не имеющими. Они, обычно, обрабатывается сторонним ПО.

Кстати, в первом случае это не связано с сессиями - клиент передает данные при каждом запросе, а во втором случае, как правило, аутентификация используется для инициации сессии.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
aleksk
Гость
« Ответ #4 : 17-05-2007 19:47 » 

 После отправки таких заголовков ( header("WWW-Authenticate: Basic realm=\"My Realm\""); header("HTTP/1.0 401 Unauthorized")Ага как передаются логин и пароль другим страницам требующим аутентификации? И ,что называется внешней аутентификацией? И какой способ лучше?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 18-05-2007 08:38 » 

aleksk, вот это (приведенные тобой заголовки) и есть Basic (RFC 2617): http://lib.irismedia.org/sait/helper10/rfc11.htm

"Внешняя" - неудачная, на мой взгляд, характеристика.
Как пример - этот форум. Сервер показывает страницу с формой, результат которой пересылается программе на сервере (php-скрипту), которая и решает вопрос валидности данных и ведения сессии.

Лучше тот способ, который ты посчитаешь подходящим к своим условиям.

Первый способ хорош тогда, когда ПО не поддерживает авторизацию. Напр., у тебя там просто файлы - картинки, html-страницы, бинарники. Но если тебе нужно управлять сессией, то нужно использовать второй способ.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
aleksk
Гость
« Ответ #6 : 18-05-2007 13:26 » 

Спасибо огромное!!! А случаем перевода нету...?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 18-05-2007 15:58 » 

aleksk, а ты порыскай в поисковике. Нечто вроде: "RFC2617 по-русски".
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
aleksk
Гость
« Ответ #8 : 20-05-2007 11:40 » 

А как при использовании HTTP-аутентификации сделать logout?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 20-05-2007 12:54 » 

aleksk, логина, по сути, не происходит - информация шлется при каждом HTTP-запросе. Чтобы браузер "забыл" ранее введенные логин/пароль нужно его перегрузить (если у него нет более гуманных методов).
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
aleksk
Гость
« Ответ #10 : 21-05-2007 00:21 » 

Спасибо огромное!!!!
Записан
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #11 : 21-05-2007 05:21 » 

aleksk, логина, по сути, не происходит - информация шлется при каждом HTTP-запросе. Чтобы браузер "забыл" ранее введенные логин/пароль нужно его перегрузить (если у него нет более гуманных методов).

А как же печеньки?
Шлётся обычно не идентификционая информация я некий хэш или ID сессии и т.д.
для логаута обычно использую 2 похода(если я правильно понимаю, хотя я не специалист Улыбаюсь ).
1. инвалидация данных о сессии на стороне сервера
2. инвалидация куков на клиенте.
Записан

Странно всё это....
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #12 : 21-05-2007 18:40 » 

LogRus, я говорил не о cookies, а о RFC2617. Их объединяет лишь почылка в HTTP-заголовке, но не более. По RFC2617 шлется именно логин/пароль: если их не вложить в запрос, то сервер вежливо пошлет  за ними. С куками все иначе: раздает их сервер и если ты забудешь ему их послать, то их как бы и не было.
Первый вариант легче реализуется, т.к. ничего кроме небольшой настройки сервера и списка логин/паролей не требуется. Это один их самых простых способов ограничения доступа.
Во втором варианте нужна продвинутая логика, которую реализует уже не сервер, а ПО, запущенное под ним. Это более гибкий инструмент, но и менее надежный, и решать им можно не только ограниение доступа.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines