因此,我開發了一個允許跨域訪問的asp.net內核API。我已經能夠讓所有的設置和運行。我已經啓用CORS,並希望它應用在所有我的端點的相同的設置,以便在我的配置方法如下:.NET Core ASP CORS在Azure VM上不受限制
app.UseCors(builder => builder.WithOrigins(
"http://localhost:3000",
"http://localhost:3001",
"https://staging.example.com",
"https://production.server.com")
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
在我ConfigureServices方法:
services.AddCors();
的代碼在MVC中間件之前以及在本地運行時,我必須從localhost:3000發送請求,因爲所有其他人都被拒絕/阻止(如預期的那樣)。
此外,在分期和生活的應用程序工作正常,可以調用API沒有任何問題。
但是,當部署到分段或生產時,我可以使用郵遞員從本地計算機調用API,也可以將我的本地Web應用程序副本(AngularJS應用程序)指向API。
也許我錯過了一些東西,或者我的理解錯誤,但我認爲這不應該被允許!如果沒有,那麼關於我可能出錯的地方有什麼想法?看起來好像我的API允許來自任何域的任何請求。
請參閱答案在https://stackoverflow.com/questions/43432743/will-asp-net-core-cors-policy-prevent-resource-access-from-non-browser-requests/43432787#43432787 – sideshowbarker