3 回答

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個(gè)贊
看看我發(fā)現(xiàn)了什么!
在里面添加一些自定義標(biāo)題<system.webServer>。
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="GET, POST, OPTIONS, PUT, DELETE" />
</customHeaders>
</httpProtocol>
然后我可以進(jìn)行CORS身份驗(yàn)證。

TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊
我為基于AngularJS的Web客戶端設(shè)置了許多試錯(cuò)法。
對(duì)我來(lái)說(shuō),下面的方法適用于ASP.NET WebApi 2.2和基于OAuth的服務(wù)。
安裝
Microsoft.AspNet.WebApi.Cors
nuget包。安裝
Microsoft.Owin.Cors
nuget包。在Startup.cs文件中添加
config.EnableCors(new EnableCorsAttribute("*", "*", "GET, POST, OPTIONS, PUT, DELETE"));
到上面的WebApiConfig.Register(config);
行。添加
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
到Startup.Auth.cs文件。這必須在打電話之前完成IAppBuilder.UseWebApi
刪除Blaise所做的任何xml設(shè)置。
我在這里發(fā)現(xiàn)了很多設(shè)置變化和組合stackoverflow或博客文章。所以,布萊斯的方法可能會(huì)或可能不會(huì)錯(cuò)。這只是我想的另一種設(shè)置。

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊
經(jīng)過(guò)幾個(gè)小時(shí)的搜索并查看了許多不同的解決方案,我已經(jīng)設(shè)法按照下面的方式工作。
這種情況有很多原因。您很可能在錯(cuò)誤的位置啟用了CORS,或者啟用了兩次或根本沒(méi)有啟用CORS。
如果您正在使用Web API和Owin Token端點(diǎn),那么您需要?jiǎng)h除Web API方法中對(duì)CORS的所有引用并添加正確的owin方法,因?yàn)閣eb api cors將無(wú)法與Token端點(diǎn)一起使用,而Owin cors將適用于兩個(gè)Web API和Token auth端點(diǎn)讓我們開始:
確保已安裝Owin Cors軟件包刪除您擁有的任何行eg.config.EnableCors(); 從您的WebAPIconfig.cs文件
轉(zhuǎn)到您的startup.cs文件,確保在任何其他配置運(yùn)行之前執(zhí)行Owin Cors。
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll); ConfigureAuth(APP);
如果仍有問(wèn)題請(qǐng)?jiān)L問(wèn):Startup.Auth.cs并確保在ConfigureAuth方法中有以下內(nèi)容(如果您的startup.cs文件正確,則不需要此項(xiàng))
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
- 3 回答
- 0 關(guān)注
- 662 瀏覽
添加回答
舉報(bào)