0

我正在为 Office 构建一个内容面板应用程序。

其中一部分需要针对服务器验证帐户。我已经AuthorizationFilterAttribute在我的 web api 2 控制器上实现了我自己的,并调用config.EnableCors(new EnableCorsAttribute("*", "*", "*"));了我的 web api 注册。

我构建了一个测试脚本,它在端点上触发一个简单的 get,我可以让它在 chrome 和 ie 中工作。

var token = btoa(username + ':' + password);

$.ajax({
    url: 'http://www.someendpoint/',
    type: 'GET',
    beforeSend: function (request) {
        request.setRequestHeader("Authorization", "Basic " + token);
    },
    success: function (data) {
        return true;
    },
    error: function (data) {
        return false;
    }
});

问题是它在应用程序中不起作用。

error: function正在命中并且数据包含“错误:访问被拒绝。\r\n”

$.support.cors = true;除了确保在 App Manifest 中授予域名权限外,我还尝试使用。

有人对还有什么可以尝试有任何想法吗?

4

1 回答 1

3

所以事实证明,在项目属性中,办公应用程序默认强制执行 SSL,老实说这很好,但在针对非 SSL 域进行测试时并不理想。

答案是调整项目设置,如下所示。

在 OFFICE 应用程序中为 Ajax Cors 请求禁用 SSL

于 2014-06-09T23:32:04.417 回答