Etiket arşivi: headers

ASP.NET Web API 2’de İsteklere İzin Verme

Tarayıcı güvenliği için bir web sayfasıdan başka bir web sayfasına AJAX isteklerini engeller. Bu hassas verilerin korunmasını sağlar. Bazen de API çağrılarına izin vermek isteyebilirsiniz.

İzin vermek için W3C standartı olan CORS kullanırız. CORS bize istek yapanları, metodları ve headerları filtrelememize olanak verir.

İlk önce NuGet ile CORS paketini projemize dahil ediyoruz. Benim kullandığım 5.2.6 versiyonudur.

WebApiConfig.cs dosyasında global bir denetleme yapacaksak Global.asax dosyasımızda aşağıdaki satırın ekli olduğundan emin oluyoruz.

CORS global olarak etkinleştirmek istiyorsanız, WebApiConfig.cs dosyamızda aşağıdaki satırları ekliyoruz.

CORS Attribute dikkat ederseniz size üç filtre sunmaktadır. Yukarıdaki örnekteki gibi origins, headers ve methods değerleri belirtebilir veya joker karakteri (*) ile her şeye izin verebilirsiniz.

CORS global olarak izin verebileceğiniz gibi Controller veya Method seviyesinde de izin verebilirsiniz.

Burada unutmamız gereken iki nokta var.

  1. Controller veya method seviyesinde uyguladığımız CORS, Global olarak uyguladığımız CORS’u geçersiz kılar.
  2. Web.Config’de de CORS için ayar bulunmamalıdır. Biz projemizde bu maddede çok sıkıntı çekmiştik 🙂

 

Facebooktwittergoogle_plusredditpinterestlinkedin