Chrome的HTTP BASIC身份验证注销问题

Jav*_*ser 6 html javascript jquery google-chrome http

我使用以下方法从使用基本HTTP身份验证的HTTP服务器注销.这适用于IE和FireFox.但是对于Chrome,我甚至可以使用错误的用户名和密码来获取html文件.

在Chrome中,流程是,我收到"**********失败***********"错误,然后显示请求的页面(some_server_file.html).

但是在IE/Chrome中,流程是,我得到"**********失败***********"错误,然后登录对话框提示输入凭证.

无论如何,即使第一次请求失败并且凭据错误,Chrome也会发送正确的用户名和密码.

任何人都可以修复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;
}
Run Code Online (Sandbox Code Playgroud)

谢谢

jea*_*frg 1

基本身份验证并非旨在管理注销。

如果您希望能够注销用户,您可以在服务器上创建一个端点来返回HTTP 403(禁止)状态代码。这将触发浏览器“注销”/清除基本身份验证缓存。

User clicks logout button --> 
Ajax call to /logout which will return HTTP 403 --> 
Browser basic authentication cache will be cleared
Run Code Online (Sandbox Code Playgroud)