Używam poniższej metody do wylogowania się z serwera HTTP używającego podstawowego uwierzytelniania HTTP. To działa dobrze z IE i FireFox. Ale w przypadku Chrome mogę pobrać plik html nawet z niewłaściwą nazwą użytkownika i hasłem.Problem z wylogowaniem z protokołu HTTP BASIC Authentication z Chrome
W Chrome przepływ jest, otrzymuję komunikat "********** Błąd" *********** ", a następnie wyświetlana jest żądana strona (plik_serwera_zastąpionego.html) .
Ale w IE/Chrome przepływ jest, otrzymuję komunikat "********** Nieudany ***********", a następnie okno dialogowe logowania monituje o kredyty .
W niektórych przypadkach Chrome wysyła poprawną nazwę użytkownika i hasło nawet po tym, jak pierwsze żądanie zakończyło się niepowodzeniem z niepoprawnymi dowodami.
Czy ktoś może naprawić problem z Chrome?
function logout() {
jQuery.ajax({
type: "get",
url: "some_server_file.html",
async: false,
username: "wronguser",
password: "wrongpass",
headers: {"Authorization": "Basic xxx"}
})
.success(function() {
console.log("********** Success ***********");
})
.fail(function() {
console.log("********** Failed ***********");
});
return false;
}
Thx
Myślę, że to może ci pomóc. Wygląda na to, że działa w Chrome 54, prawdopodobnie działając także na późniejszych wersjach. Zasadniczo wysyłasz niepoprawne dane uwierzytelniające, aby wyczyścić pamięć podręczną auth w chrome. Zobacz http://stackoverflow.com/a/30308402/1917897 po więcej szczegółów. – RaviU