Chciałbym włączyć CORS na API zbudowany z ASP.NET Core MVC, ale wszystkie bieżące dokumenty odnoszą się do wcześniejszych wersji tej struktury .Jak włączyć żądania krzyżowe (CORS) w ASP.NET Core MVC
Odpowiedz
Notatki na temat nowych funkcji Corsa są bardzo lekkie, ale udało mi się sprawić, by działało w moim rozwiązaniu, patrząc na nowe klasy i metody. Mój Web API startup.cs wygląda tak. Możesz zobaczyć, jak możesz skonstruować swoje pochodzenie i zasady, używając nowej klasy CorsPolicy
. I włączanie CORS metodami AddCors
i UseCors
.
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
//Add Cors support to the service
services.AddCors();
var policy = new Microsoft.AspNet.Cors.Core.CorsPolicy();
policy.Headers.Add("*");
policy.Methods.Add("*");
policy.Origins.Add("*");
policy.SupportsCredentials = true;
services.ConfigureCors(x=>x.AddPolicy("mypolicy", policy));
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
// Configure the HTTP request pipeline.
app.UseStaticFiles();
//Use the new policy globally
app.UseCors("mypolicy");
// Add MVC to the request pipeline.
app.UseMvc();
}
Można również odwołać się do polityki w kontrolerach z nowymi atrybutami jak tak
[EnableCors("mypolicy")]
[Route("api/[controller]")]
Po prostu notka, musiałem dodać 'Microsoft.AspNet.Cors' do mój project.json, aby to działało, a dokładniej 'app.UseCors (" mypolicy ");' linia zgłosiła błąd do momentu dodania tego pakietu. W moim przypadku użyłem wersji '1.0.0-beta6' (dostępna jest również wersja ostateczna' 5.2.3'). Ponadto ważne jest, aby dodać 'using Microsoft.AspNet.Builder;' do 'Startup.cs', jeśli jeszcze go tam nie ma. – Gertsen
Proszę spojrzeć tutaj dla vNext i MVC6: https://neelbhatt40.wordpress.com/2015/09/10/what-is-cors-and-how-to-enable-it-in-asp-net-5vnext/ – Neel
Po prostu wiadomość dla ludzi ... to nie działało dla mnie, dopóki nie zorientowałem się, że muszę umieścić UseCors przed linią UseMvc. – Michael
Wsparcie dla CORS jest obecnie w fazie rozwoju. Następujący problem śledzenia że: https://github.com/aspnet/Mvc/issues/498
Update (28.03.2015):
Funkcja ta została sprawdzona i powinny być dostępne w następnym wydaniu.
Proszę spojrzeć tutaj dla vNext i MVC6: https: //neelbhatt40.wordpress .com/2015/09/10/what-is-cors-and-how-to-enable-it-in-asp-net-5vnext/ – Neel
mam to działa stosując następujący kod:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddCors(options => options.AddPolicy("AllowAll", p => p.AllowAnyOrigin()));
}
Można łańcuch AllowAnyHeader()
i/lub AllowAnyMethod()
do działania konfiguracyjnego, jeśli to konieczne.
Aby skonfigurować go do pełnej aplikacji:
public void Configure(IApplicationBuilder app)
{
app.UseCors("AllowAll");
}
Lub po prostu dla kontrolera:
[EnableCors("AllowAll")]
public class HomeController : Controller
{
// ...
}
-
Aktualizacja: konfigurowanie Cors dla wszystkich wniosków może zrobić nieco łatwiej:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddCors();
}
public void Configure(IApplicationBuilder app)
{
app.UseCors(builder =>
{
builder.WithOrigins("http://some.origin.com")
.WithMethods("GET", "POST")
.AllowAnyHeader();
});
}
Aby uzyskać więcej informacji, zapoznaj się z docs.
cs1929 metoda services.ConfigureCors (...) już nie istnieje. Jest on łączony z AddCors:
services.AddCors(options =>
options.AddPolicy("AllowAllOrigins", builder => builder.AllowAnyOrigin()));
W najnowszym RC2
ASP.NET Core.
Nuget są
"Microsoft.AspNetCore.Owin": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Cors": "1.0.0-rc2-final",
W Startup.cs
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddCors();
services.AddMvc();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
app.UseCors(builder => builder
.AllowAnyOrigin());
app.UseMvc();
}
Jeśli przeglądarka korzysta z żądania przed lotem (https://docs.asp.net/en/latest/security/cors.html#preflight-requests), musisz także ustawić dozwolone nagłówki i metody: 'app.UseCors (_ => _.AllowAnyOrigin(). AllowAnyHeader(). AllowAnyMethod()) ' –
Instalacja: Microsoft.AspNetCore.Cors
w metodzie Konfiguracja:
app.UseCors(builder =>
builder.WithOrigins("http://some.origin.com"));
- 1. ASP.NET Core MVC View Components
- 2. Odpowiednik "@section" w ASP.NET Core MVC?
- 3. Gdzie jest Request.IsAjaxRequest() w Asp.Net Core MVC?
- 4. ASP.NET MVC: Wymuszenie żądania AJAX w działaniu
- 5. ASP.NET MVC lokalizowanie plików CS wygenerowane z cshtml?
- 6. ASP.NET Core MVC: ustawienie wygaśnięcia tożsamości cookie
- 7. Jak wymusić routing małych liter w ASP.NET Core MVC 6?
- 8. Jak odczytać atrybuty metody działania w ASP.NET Core MVC?
- 9. Jak mogę uzyskać URL Referrer w ASP.NET Core MVC?
- 10. Jak wykonywać żądania AJAX z długim odpytywaniem w ASP.NET MVC?
- 11. Jak ręcznie włączyć sprawdzanie poprawności jQuery z ASP.NET MVC
- 12. Jak dodać referencję projektu do projektu ASP.NET Core 1.0 MVC
- 13. Angular2 ASP.NET Core AntiForgeryToken
- 14. @ Html.Action w Asp.Net Core
- 15. Bezpieczeństwo IP w Asp.Net Core
- 16. ASP.NET Core Response.End()?
- 17. Odczytywanie danych postów JSON w ASP.Net Core MVC
- 18. Wyświetl wersję projektu w aplikacji ASP.NET MVC Core (RC2)
- 19. Wybierz pomocnika znaczników w środowisku ASP.NET Core MVC
- 20. Jak działa buforowanie ASP.NET MVC dla żądania AJAX?
- 21. Odpowiednik html.RenderAction w środowisku ASP.NET Core
- 22. Co to jest IViewLocationExpander.PopulateValues () dla Asp.Net Core MVC
- 23. Buforowanie w asp.net-mvc
- 24. Jednostka Entity Framework Core 1.0 z oprogramowaniem warstwy pośredniej Asp.Net Core lub filtrem Mvc
- 25. Niestandardowa strona błędu dla błędu HTTP 404.13 ASP.NET Core MVC
- 26. Szydzenie IPrincipal w środowisku ASP.NET Core
- 27. SQLite w ASP.NET Core z EntityFrameworkCore
- 28. Jak uzyskać nazwę przeglądarki użytkownika (user-agent) w Asp.net Core?
- 29. TempData null w asp.net core
- 30. Uwierzytelnianie ASP.NET Core MVC z istniejącą bazą danych
Jak chodzi? http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api – lcryder
Dokumentacja w "nowych" dokumentach tutaj: http: //docs.asp. net/pl/latest/security/cors.html i http://mvc.readthedocs.org/en/latest/security/cors-policy.html – Daniel
Proszę zajrzeć tutaj: https: //neelbhatt40.wordpress. com/2015/09/10/what-is-cors-and-how-to-enable-it-in-asp-net-5vnext/ – Neel