Ich habe erfolgreich eine URL hinter einem Verzeichnis in Apache, das mit Basic Authentication (htpasswd, etc.) geschützt ist, aufgerufen. Die Ajax-GET-Anforderung funktioniert normal und gibt den geschützten Inhalt zurück:
%Vor%Meine ursprüngliche Annahme war, dass die Web-Sitzung, nachdem sie eine Anfrage erfolgreich autorisiert hat, die Umleitung im Block 'success' ermöglicht, ohne die Benutzeranmeldeinformationen anzufordern . Wenn dieser Codeblock aufgerufen wird, hat der Benutzer Benutzername und Kennwort in einer nicht geschützten Umgebung eingegeben. Wenn die Umleitung jedoch aufgerufen wird, öffnet der Browser das Login / Passwort-Fenster.
Irgendwelche Vorschläge, wie ich eine Sitzung mit der Basisautorisierung vorautorisieren könnte, die von den Benutzern bereitgestellt wurde?
Die Protokollierung mit AJAX-Anforderung funktioniert normalerweise, weil eine erfolgreiche AJAX-Anforderung Sitzungscookies festlegt, die bei allen nachfolgenden Anforderungen transparent gesendet werden.
Vielleicht sind Ihre Cookies gesetzt, aber aus irgendeinem Grund nicht transparent gesetzt: Sie können mit xhr.getAllResponseHeaders () / xhr.getResponseHeader () überprüfen und danach mit document.cookie.
setzenWenn keine Sitzungscookies vorhanden sind, schlägt dieses Verhalten normalerweise fehl.
Sie können versuchen, mit dem Benutzernamen + Passwort in der URL umleiten (nicht empfohlen, weil Benutzername + Passwort wird wahrscheinlich in der Browser-Adresse URL-Leiste nachher sichtbar sein):
%Vor%Auch sollten Sie testen, um die Umleitung zu verzögern ... weil es vielleicht funktioniert, aber Sie müssen etwas Zeit für den Browser geben, haben Sie versucht:
%Vor%Tags und Links javascript jquery apache basic-authentication