Web API 2.1 Windows身份验证CORS Firefox

 Liu_y_菁 发布于 2023-01-20 04:48

这是场景:

我创建了一个web api项目和一个mvc项目,如下所示:

http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api

我通过nuget安装了CORS支持并添加了EnableCorsAttribute

我运行了这个项目,一切都按照预期(GET,PUT和POST)在Chrome,IE和FireFox上运行.

然后我在web api项目中启用了Windows身份验证(是的,我真的需要在api项目中使用win auth).为了使这个工作,我将xhrFields arg添加到我的jquery.ajax调用:

        $.ajax({
            type: method,
            url: serviceUrl,
            data: JSON.stringify(foo),
            contentType: 'application/json; charset=UTF-8',
            xhrFields: {
                withCredentials: true
            }
        }).done(function (data) {
            $('#value1').text(data);
        }).error(function (jqXHR, textStatus, errorThrown) {
            $('#value1').text(jqXHR.responseText || textStatus);
        });

另外,我设置了EnableCorsAttribute.SupportsCredentials属性= true

我测试了一切.Chrome和IE工作,FireFox没有.Firefox收到401响应它的预检(OPTIONS)请求.

似乎FireFox没有尝试使用该服务进行身份验证.

有没有人找到解决这个问题的方法?

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有