跨域ajax调用Windows身份验证在chrome中工作,而不在Firefox中工作

时间:2014-05-07 08:03:01

标签: javascript jquery ajax wcf wcf-security

我有使用Windows身份验证的WCF服务,我使用ajax调用调用此服务。对于谷歌浏览器,它是完美的工作,因为凭证兑现,但在Firefox中我得到401未经授权。我希望firefox会弹出一个弹出窗口来填写我的凭据(比如我从浏览器调用服务时)。

我的javascript代码如下:

 var url = "http://localhost:8732/Domain.WebServices/MyService/web/MyFunction";

    $.ajax({
        type: "GET",
        url: url,
        crossDomain: true,
        processData: false,
        xhrFields: {
            withCredentials: true
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) { alert('failed'); },
        success: function (data) { onSuccess(data); }
    });

如果凭证未兑现,我如何才能在firefox中使用?

1 个答案:

答案 0 :(得分:2)

根据official docs,您必须确保服务器使用Access-Control-Allow-Credentials:true标头进行响应,否则Firefox将拒绝任何响应。

我不确定firefox是否内置了显示弹出窗口的功能,您应该自己实现它。

查看更多示例here