|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Artem Chuprina 2:5020/371.32 10 Dec 2000 20:28:58 To : Mike Subject : Re: Как сбросить данные Basic Auth? -------------------------------------------------------------------------------- В твоём письме от Sun, 10 Dec 2000 00:12:01 +0300 написано: mvr>>> Как заставить клиента повторно аутентифицироваться - я знаю. А mvr>>> вот как вообще сбросить логин/пароль, который лежит в кэше mvr>>> браузера? mvr> AC>> По спецификации HTTP - никак. То есть выдав 401, можно, но это как раз AC>> то, что ты и так умеешь - "войти под другим именем". mvr> mvr> Да вот нехорошо, блин. Так бы можно было для вообще mvr> неавторизованных пользователей показывать одно, а для других - mvr> другое. Это и так можно. У меня это сделано так: есть страничка /login, где проверяется пароль и выдается 401, если неверен (у меня там mod_perl, так что дешевле проверять пароль в content handler'е, а вообще все равно), а если верен - редирект на параметр, куда вернуться (в норме - откуда пришли) или на /. Поскольку /login в корне, то выставленный в процессе аутентификации realm работает на все дерево, и тем самым дальше браузер будет отдавать эту информацию, никого не спрашивая. Правда вот чтобы проверить ее, кажется, придется воспользоваться опяь же mod_perl'ом - если не стоит require, то mod_cgi не отдаст REMOTE_USER. mvr> И через куки не всё слава Богу, и через PATH_INFO, и mvr> через Basic Auth... Есть ли вообще-то счастье в жизни? Hет. Попыти использовать для сессионного общения датаграмный протокол к добру не приводят, а приводят к необходимости реализовывать поверх него снова сессионный. Что, надо сказать, выглядит смешно, если учесть, что этот датаграмный реализован поверх сессионного... mvr> Еще один вариант, не лишенный кривизны: авторизоваться по basic mvr> auth и использовать имя в качестве session_id. Заавторизовался mvr> один раз - чисто получил уникальную сессию. Ткнул на странице mvr> logout - из сессии стерся признак онлайна, и, когда в следующий mvr> раз пойдем на защищенную страницу, опять выдадим 401. Тоже вариант... --- slrn/0.9.6.3-as (Linux) * Origin: AKA с подствольным плюсомётом (2:5020/371.32) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/7351852d08571.html, оценка из 5, голосов 10
|