|
Problem açıklaması Çapraz alan araması MVC veya Web API ASP.NET yazılmış bir servis ASP.NET olduğunda, erişilemez hale gelir. Üreme yöntemi
Neden analizi Alanlar arası sorunun temel nedeni, tarayıcının her iki isteğe de düşük ayrıcalıklara sahip olması ve genellikle sadece yerel alan alanındaki kaynaklara çağrılara izin vermesidir; hedef sunucu ona çapraz alan çağrılarının izin verildiğini açıkça belirtmedikçe. Bu nedenle, alanlar arası sorun tarayıcının davranışından kaynaklansa da, çözüm sunucu tarafındadır. Çünkü tüm müşterilerin güvenliği azaltmasını zorunlu kılmak mümkün değildir.
çözüm Hem ASP.NET MVC hem de ASP.NET Web API proje türleri için biraz araştırma yaptım ve aşağıdaki senaryonun mümkün olduğunu belirledim. ASP.NET MVC için, sadece web.config sayfasına aşağıdaki içeriği eklemeniz yeterlidir
ASP.NET Web API'leri için, yukarıdaki ayarlara ek olarak, her API Denetleyicisi için bir OPTIONS yöntemi eklemek ama hiçbir şey geri dönmeden özel bir tasarım eklenmelidir. public string Options() { return null; HTTP 200 yanıtı boş gövdeyle }
Not: Bu fonksiyon biraz araştırma ile de yapılabilir ve onu bir filtre olarak tasarlamak daha iyi olabilir.
|