2015-02-12 27 views
6

Birisi lütfen bana yardım edin, IIS 7. 0'daki web.config dosyasında kullanmak için aşağıdaki kodu dönüştürün ve web.config dosyasında her bir kod parçasını yerleştirmeliyim? Eğer CORS'yi sorunun çözümü için bu soruyorsanCORS ayarları

# Always set these headers. 
Header always set Access-Control-Allow-Origin "*" 
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT" 
Header always set Access-Control-Max-Age "1000" 
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token" 

# Added a rewrite to respond with a 200 SUCCESS on every OPTIONS request. 
RewriteEngine On 
RewriteCond %{REQUEST_METHOD} OPTIONS 
RewriteRule ^(.*)$ $1 [R=200,L] 
+0

- http://enable-cors.org/server_iis7.html i' ve web.config dosyasına eklendi. ama Firefox'ta aşağıdaki iletiyi alıyorum - Çapraz Kaynak Talebi Engellendi: Aynı Kaynak İlkesi, https://lrpspsprd02.lhl.co.nz/ZFP/Dicom/UrlAuthentication?mode=StandAloneLaunch adresindeki uzak kaynağı okumaya izin vermez. Bu, kaynağı aynı etki alanına taşıyarak veya CORS'yi etkinleştirerek giderilebilir. –

cevap

17

, aşağıda bu çözümü takip edebilirsiniz.

NOT: Tüm bunları eklemeden önce güvenlik sorunlarını göz önünde bulundurmalısınız. Eğer ajax çağrısında Content-Type parametre varsa

<system.webServer> 
    <httpProtocol> 
    <customHeaders> 
     <add name="Access-Control-Allow-Origin" value="*" /> 
     <add name="Access-Control-Allow-Methods" value="GET, PUT, POST, DELETE, HEAD, OPTIONS" /> 
     <add name="Access-Control-Allow-Credentials" value="true"/> 
     <add name="Access-Control-Allow-Headers" value="X-Requested-With, origin, content-type, accept" /> 
    </customHeaders> 
    </httpProtocol> 
</system.webServer> 
  • veya PUT olarak kabul edilmektedir request.Those yapıyoruz:

    1. web.config dosyasına bu ekle PreFlight requests.Preflight istekleri ana istek göndermeden önceyapabilirsiniz OPSİYON isteği yapıyoruz (PUT, DELETE vb.) sizin Global.asax dosyasına yönteminin altındaeklenti başarıyla SEÇENEĞİ sürecini geçmesine: siteden önerisi gereğince

      protected void Application_BeginRequest() 
      { 
          if (Request.Headers.AllKeys.Contains("Origin") && Request.HttpMethod == "OPTIONS") 
          { 
           Response.Flush(); 
          } 
      } 
      

    To have more information about Preflight requests you can check here

    For solution number 2 you can have detailed information from here

  • +0

    Yinelenen giriş hatalarını önlemek için aşağıdaki satırları öğesine bekletmek zorunda kaldım: Fabien