Ale*_*sky 5 azure cors angularjs asp.net-web-api2
我已经创建了一个具有个人帐户安全性的asp.net web api 2服务.我试图按照这个例子将它称为AngularJs:http: //www.codeproject.com/Articles/742532/Using-Web-API-Individual-User-Account-plus-CORS-En 无法得到它工作所以从这里添加一些配置: 如何在WebAPI 2中进行CORS身份验证?
并且无法通过此错误:XMLHttpRequest无法加载'serverRegisterUrl'.'Access-Control-Allow-Origin'标头包含多个值'clientUrl,*,*',但只允许一个.因此,不允许来源'clientUrl'访问.
我不明白这个错误信息.我认为Access-Control-Allow-Origin字符串意味着允许原始clientUrl,所有标题,所有方法
我不明白这个问题.如果我应该只在某处指定原点,我不知道那是哪里.
我在Microsoft Azure上运行此操作,并使用vs express for web 2013 update 2以防万一.
不幸的是,我不得不从错误消息中取出我的链接,因为我需要至少在这里发布信誉10才能在一个问题中发布超过2个链接.
我得到了它的工作,我认为它归结为配置.Web.config:没有"Access-Control-Allow-Origin"customHeaders节点
Startup.Auth.cs:
// This must come first to intercept the /Token requests
app.UseCors(CorsOptions.AllowAll);
// Enable the application to use bearer tokens to authenticate users
app.UseOAuthBearerTokens(OAuthOptions);
WebApiConfig.cs :(不在这里启用cors)
//var cors = new EnableCorsAttribute("*", "*", "*");
//config.EnableCors(cors);
AccountController.cs:GetExternalLogin方法的属性:
[EnableCors(origins: "*", headers: "*", methods: "*")]
我认为这是我目前的整个CORS配置.
只是添加到@AlexSmotritsky 的答案中。
使用UseCors方法
app.UseCors(CorsOptions.AllowAll);
Run Code Online (Sandbox Code Playgroud)
记得安装 Microsoft.Owin.Cors NuGet 包并添加
使用 Microsoft.Owin.Cors;指示。
看来您的Access-Control-Allow-Origin值clientUrl, *, *可能无效。它只允许一个值。您可以放置*表示允许所有来源,或您指定的来源,例如您的 AngularJS 主机。
我已将代码放在https://gist.github.com/shaunxu/8414a78cd8074432fc69 这可能不是东方方式,但它适用于我的应用程序。
| 归档时间: |
|
| 查看次数: |
6296 次 |
| 最近记录: |