我正在为Office构建一个内容面板应用程序。
部分内容需要针对服务器验证帐户。我在我的网络api 2控制器上实现了自己的AuthorizationFilterAttribute
,并在我的网络API注册时调用了config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
。
我构建了一个测试脚本,可以在端点触发一个简单的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”
除了确保域名在App Manifest中获得权限外,我还尝试使用$.support.cors = true;
。
任何人都有什么想法可以尝试?
答案 0 :(得分:3)
事实证明,在项目属性中,办公室应用程序默认强制执行SSL,这是诚实的,但在针对非SSL域进行测试时并不理想。
答案是调整项目设置,如下所示。