IE, FireFox, Opera и Safari не отображают приглашение BASIC auth при последующих 401 ответах от сервера - PullRequest
1 голос
/ 27 декабря 2010

СЦЕНАРИЙ:

У меня есть веб-приложение на Java, работающее в последней версии Tomcat 6. У меня также есть один фильтр сервлетов, который обеспечивает аутентификацию. Я поддерживаю BASIC auth, и он работает нормально - большую часть времени.

В первый раз, когда браузер [выбирает любой из них - IE, FireFox, Opera, Safari, Chrome] нажимает на один из наших защищенных URL-адресов, он отображает стандартное приглашение входа в систему для конкретного браузера. Если вы введете правильное имя пользователя / пароль - все в порядке, новый сеанс создан, и все работает нормально.

Если, однако, вы ввели неверные учетные данные в начальном диалоговом окне аутентификации BASIC, моя логика фильтра аутентификации обрабатывает это, возвращая еще один ответ 401.

ПРОБЛЕМА: К сожалению, на данный момент Chrome является единственным браузером, который отображает еще одно диалоговое окно проверки подлинности BASIC. Все остальные перечисленные браузеры автоматически отправляют кэшированный заголовок «Authorization: Basic ..» - вместо того, чтобы очищать его и снова запрашивать пользователя.

Если кто-нибудь видел это или может знать, почему это происходит, я был бы очень признателен за любые предложения!

Спасибо и С наилучшими пожеланиями, Боб

1 Ответ

0 голосов
/ 29 декабря 2010

проблема решена:

После повторного просмотра кода я обнаружил точку, в которой возвращался 401 без установки WWW-Authenticate HEADER.

-bob

...