WWW-аутентификация выхода - PullRequest
       23

WWW-аутентификация выхода

3 голосов
/ 11 ноября 2009

Я заметил, что как только Firefox выдает модальное сообщение в ответ на заголовок WWW-Authenticate в ответе HTTP. Затем Firefox сохраняет имя пользователя / пароль, пока Firefox не будет закрыт. Плагин Web Developer позволяет разработчикам с готовностью выйти из системы. Но какое HTTP-сообщение нужно отправить браузеру, чтобы потерять эти кэшированные учетные данные?

Ответы [ 3 ]

3 голосов
/ 11 ноября 2009

Боюсь, что нет способа изящно отправить браузеру приказ прекратить хранить (и отправлять в каждом http-запросе на ваш сервер) учетные данные, которые вы получили в начале навигации пользователя (посредством ответа http 401).

2 голосов
/ 30 декабря 2009

Я нашел разумное решение. Это немного запутанно, но работает очень хорошо. Я создал таблицу с полем GUID. Это не началось с каких-либо записей. Вот решение:

  1. Пользователь нажимает кнопку «Выйти».
  2. Сценарий выхода добавляет GUID для новой таблицы.
  3. Сценарий выхода из системы перенаправляет пользователя на URL-адрес, для которого в качестве параметра указан GUID.
  4. Когда пользователь нажимает URL с GUID в качестве параметра, система ищет GUID в таблице.
    1. Если GUID находится в таблице, удалите запись с GUID и введите недопустимый код ответа с именем пользователя / паролем (даже если учетные данные в порядке).
    2. Если GUID отсутствует в таблице, проверьте учетные данные.

Эта новая таблица может быстро раздуться хакерами, поэтому убедитесь, что у каждого пользователя может быть только одна запись в таблице. Вы также можете использовать временные метки и выполнять пакетное задание, чтобы время от времени сокращать таблицу.

1 голос
/ 22 декабря 2012

Firefox очистит кэшированный WWW-auth UN / PW с 403 Forbidden.

Chrome очистится с 403 Forbidden или 401 Not Authorized.

Safari всегда подскажет вам, хотите ли вы кэшировать или нет.

IE - это какашки.

...