ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [apache-talk] HTTP_*



Felix Milovanov <felix@Gambit.Msk.SU> wrote:
> > > Спасибо  всем за попытку помочь, но думаю, пока я не объясню
> > > свою задумку, вы мне долго будете голову морочить.
> > > А  суть  проста  -  мне  нужно  знать  имя  пользователя  не
> > > авторизуя  его!  Если вы помните в HTTP 1.1 написано, что UA
> > > должен  предоставлять  данные для аутентификации заранее для
> > > всех документов на том же уровне или ниже документа, который
> > > выдал  401.  Я  проверил на IE, он это делает, думаю NN тоже
> > > это  делает.  Так  вот  мне  и нужно проверить авторизовался
> > > человек  до  этого  или  нет,   и  в  зависимости  от  этого
> > > предпринять разные действия, но ни в коем случае не пытаться
> > > его  авторизовывать.  Надеюсь теперь понятно. Если у кого то
> > > есть  мысли  о  том  как это сделать, отличные от моих, буду
> > > очень благодарен.
[skip]
>   Братцы! Для конференции будет очень даже полезно, если мы будем
> отвечать друг другу без подколок. Не думаю, чтобы автор этого письма
> был настолько дураком, чтобы просил того, чего сам не понимает.
> Например, скажу -- у меня самого была точно такая же ситуевина.
> Вернее, не совсем такая - но ОЧЕНЬ похожая. И для ее решения нужно
> было сделать именно то, что пишет автор ( Netscape, кстати, выдает
> заголовок Authorization для остальных документов ) -- выдавать
> REMOTE_USER для ВСЕХ документов, а не только для которых требуется
> авторизация на уровне Apache.

 REMOTE_USER содержит имя пользователя, использованное на нижнем
 дереве уровня авторизации, и поэтому в принципе не может содержать
 глобальной информации. Т.е. значения этой переменной различные
 в различных деревьях, в том числе и в перекрывающихся. В отличие от
 REMOTE_IDENT, например, которая всегда глобальна, но не всегда
 может быть определена. Поэтому смысл Вашего "решения" непонятен.

 Непонятно также, что хочет получить Новиков. Если клиент доступается
 к CGI-скрипту в защищенном поддереве, то Apache нe пропустит
 его без авторизации, но если скрипт запустился, значит, авторизация
 уже прошла. В чем проблема? Извлечь сам пароль или его хаш по REMOTE_USER
 скрипт может уже локально - из htpasswd или какой-нибудь базы.

 В крайнем случае авторизационную информацию можно хэшировать и
 совать в cookie, у которой время жизни - до конца сессии клиента.
 Cookies примерно для этого и придуманы.
--
 Eugene Berdnikov
=============================================================================
=               Apache-Talk@lists.lexa.ru mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =



 




Copyright © Lexa Software, 1996-2009.