Заставить браузер отправить HTTP-заголовок запроса - PullRequest
0 голосов
/ 11 февраля 2011

Мне нужно включить какое-нибудь безопасное (BASIC-аутентификация) приложение.

когда я открываю URL-адрес приложения в браузере, браузер просит меня ввести ваши учетные данные ...

я знаю следующее:

  1. Браузер запрашивает у сервера какой-то URL-адрес - URL приложения
  2. Сервер проверяет заголовок запросадля Authentication header и не нашел его
  3. Сервер отправляет 401 в браузер обратно
  4. Браузер интерпретирует этот код ответа в диалоговом окне сообщения, которое показывает мне, прося менявведите имя пользователя / пароль для отправки обратно на сервер в заголовке запроса Authentication

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

Проблема здесь в том, что это приложение (фактически приложение GWT) содержит ссылку нанекоторые файлы Javascript и CSS, которыес сервера, на котором размещено это приложение.страница приложения, которую я импортирую, выглядит следующим образом:

<html>
    <link href="http://application_host/cssfile.css" />
    <link href="http://application_host/javascriptfile.js" />
    .....
</html>

Итак, я снова обнаружил, что приложение запрашивает у меня полномочия аутентификации для файлов css и js!

Я думаю о многих решенияхно не знаю применимости каждого

  • Одно из решений - попросить браузер (через Javascript) отправить заголовок запроса (Authentication), когда он запрашивает у сервера файлы js и css

Пожалуйста, дайте мне свое мнение об этом ... и любые другие предложения будут очень приветствоваться.

Спасибо.

Ответы [ 3 ]

1 голос
/ 11 февраля 2011

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

См. Пример протокола на http://en.wikipedia.org/wiki/Basic_access_authentication

0 голосов
/ 12 февраля 2011

Почему файлы css & js хранятся в защищенной области сервера?Вам нужно разместить файлы в публичной области вашего сервера.Если у вас нет публичной зоны, значит, вы должны ее предоставить.как это сделать, зависит от серверной архитектуры и конфигурации программного обеспечения.

0 голосов
/ 11 февраля 2011

Судя по вашей истории, что-то подсказывает мне, что ваша проблема связана с методом аутентификации itsef.Не как это реализовать.Почему вы хотите так сильно беспокоиться о заголовке запроса?

Насколько я знаю, вы можете настроить свой контейнер (например, Tomcat) для принудительной аутентификации http для определенных URL-адресов.Ваш контейнер удостоверится, что аутентификация прошла.Не нужно устанавливать заголовки http самостоятельно.

Возможно, вы можете немного лучше объяснить, чего пытаетесь достичь, вместо того, чтобы рассказывать детали реализации?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...