Оставайтесь авторизованными для других страниц после XMLHttpRequest на сервере apache - PullRequest
0 голосов
/ 02 июля 2019

В основном я использую обычную аутентификацию на сервере apache (2.4.25) для контроля доступа через .htaccess и .htpasswd, и я хочу иметь возможность аутентифицировать себя с главной страницы в корневом каталоге (без защиты), затем перенаправлены на какую-то защищенную страницу, например /test/index.html и иметь доступ к другим защищенным страницам, например, /anothertest/here/it/is/index.html.

У меня есть форма для входа и сценарий на главной странице, после отправки формы я получаю значения из формы и отправляю их в виде XMLHttpRequest на защищенную страницу для аутентификации.

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

До сих пор не нашли способ заставить его работать с моей текущей стратегией.

Вот скрипт для XMLHttpRequest:

<script>
    validate = function() {
        var xhr = new XMLHttpRequest();
        var usr = document.getElementById("username").value;
        var pw = document.getElementById("password").value;
        xhr.open("GET", "https://mydomain.tld/protected_content", true);
        xhr.withCredentials = true;
        xhr.setRequestHeader("Authorization", 'Basic ' + btoa(usr + ":" + pw));
        xhr.onload = function () {
            console.log(xhr.responseText);
        };
        xhr.send();
    }
</script>

Я ожидал авторизации и для другого контента / страниц (которые используют эти учетные данные), но, как уже упоминалось, я, по-видимому, авторизован только для содержимого файла .html, который я получаю в своем запросе.

Если я потом перейду на эту страницу вручную (у меня сейчас нет перенаправления), то содержимое, которое я запрашивал с моими учетными данными ранее, загружается, но теперь меня спрашивают в диалоговом окне браузера мои учетные данные, а остальные содержание, изображения fe

Я впервые пишу здесь, надеюсь, я был достаточно подробным и ясным.

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