2015-09-11 11 views
6

Ho creato un servizio API Web ASP.NET e abilitato CORS in tale servizio. Questo servizio viene utilizzato per servire le risorse dei modelli di report (html, image, css, font). Il client Web carica il modello e visualizza il report in base al modello scaricato.ASP.NET CORS blocco richiesta carattere

Quindi, data l'enpoint di servizio: http://templates.domain.com, e cerco accedere al servizio (REST, Image, Font) da una web app (http://client.domain.com), il client web app caricherà:

  • http://templates.domain.com/templates/:templateName
  • http://templates.domain.com/templates/:templateName/css/style.css
  • http://templates.domain.com/templates/:templateName/image/header.jpg
  • http://templates.domain.com/templates/:templateName/font/test.ttf

In quanto sopra, l'API REST, i CSS e le immagini dal servizio funzionano correttamente, ma il font è bloccato/non riuscito.

carattere di origine 'http://localhost:49350' è stato bloccato da carico dalla politica di condivisione delle risorse Cross-Origin: No 'Access-Control-Allow-Origin' intestazione è presente sul risorsa richiesta. Origine "null"

Finora, ho provato le soluzioni di seguito, ma il carattere è ancora bloccato.

  1. Microsoft.Owin.Cors:

    app.UseCors(CorsOptions.AllowAll);

  2. Microsoft.AspNet.WebApi.Cors:

    var cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors);

+1

Le estensioni dei caratteri sono definite nel file web.config di frontend? Ottengo un errore 404 (non CORS) se non li definisco, quindi forse questo non è il problema. per esempio.

+0

@S. Baggy no 404, solo errore CORS –

+0

Potresti pubblicare le intestazioni di richiesta/risposta? – swestner

risposta

7

Stai usando OWIN o WebAPI?

Per un aspnet WebAPI seguente permetterebbe tutto attraverso:

<system.webServer> 
    <httpProtocol> 
     <customHeaders> 
     <add name="Access-Control-Allow-Origin" value="*" /> 
     </customHeaders> 
    </httpProtocol> 
    </system.webServer> 

E 'importante sottolineare che consente "*" è potenziale vulnerabilità di sicurezza, come si sta dicendo a chiunque di anywere può richiamare questi metodi.

Problemi correlati