我必须发送凭据以在我的应用程序的服务器上进行身份验证(Windows身份验证):
with-credentials = true
问题是我的客户端是移动设备,我无法告诉Access-Control-Allow-Origin中的服务器的原始域。
我想这样做:
Access-Control-Allow-Origin = *
但是我知道由于安全问题,这是不可能的。
我该如何使用HTTP?
PS:我在ASP.NET中使用服务器,并且客户端由Ionic(角度)制成。目前,我正在使用临时解决方案:
Access-Control-Allow-Origin = localhost:8100
但是当我部署应用程序时,它将无法在实际设备上运行。
答案 0 :(得分:2)
ASP.NET中的CORS
如果您无权配置IIS,则仍可以通过在源页面中添加以下行来通过ASP.NET添加标头:
Response.AppendHeader("Access-Control-Allow-Origin", "*");
答案 1 :(得分:0)
有时您需要在AuthorizeAttribute上进行检查
// pre-flight request (OPTIONS) are always ok.
// https://stackoverflow.com/questions/26296779/chrome-v37-38-cors-failing-again-with-401-for-options-pre-flight-requests#28235624
if (actionContext.Request.Method == System.Net.Http.HttpMethod.Options)
{
return true;
}