Не удается отправить запрос аутентификации jquery ajax на сервер Glassfish

Я пытаюсь отправить запрос на авторизацию сервлету, размещенному на сервере glassfish 4, получая сообщение в виде простого текста.

Сервлет настроен для BASIC-аутентификации с КОНФИДЕНЦИАЛЬНЫМ транспортом (https) (Аутентификация и ответ сервлета работают, посещая страницу с помощью веб-браузера)

Вот скрипт jquery, использующий ajax:

$.ajax
({
    type: "GET",
    url: "https://192.168.146.128:8181/path_to_servlet",
    dataType: 'text',
    beforeSend: function(xhr) {
        xhr.setRequestHeader("Authorization", "Basic " + btoa("username:password"));
    },
    async: false,
    success: function (data){
        alert(data);
    }
});

и код сервлета:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    response.setContentType("text");
    PrintWriter out = response.getWriter();
    out.println("hello");
    out.close();

}

Проблема в том, что запрос не получает ответа любого типа (пробовал в IE, chrome и firefox с одинаковым результатом).

Что я должен делать? Это правильный способ аутентификации? И нужно ли отправлять запрос авторизации заголовка при каждом последующем запросе?

1 ответ

Объект jQuery .ajax допускает свойства "username" и "password", не пытайтесь жестко закодировать ваш заголовок авторизации.

Согласно спецификации HTTP, вы отправляете запрос на данные, ЕСЛИ он защищен, вы получаете ответ об отказе в доступе, на который вы отвечаете с заголовком авторизации.

Если он не работает при доступе к нему вручную, возможно, ваш сервер неправильно настроен, отправляя клиенту заголовок Access-Control-Allow-Headers, в котором не разрешен заголовок Authorization. Если это работает, когда вы делаете это вручную (не используя Ajax), то это скорее всего междоменная проблема, возможно, вы могли бы проверить консоль ошибок или инструменты разработчика вашего браузера, чтобы проверить ответ на запрос или любые предупреждения / ошибки, которые выдают,

Другие вопросы по тегам