asp.net - httpconfiguration - enablecorsattribute



ASP.NET CORS blockiert Schriftanfragen (1)

Verwenden Sie OWIN oder WebAPI?

Für eine AspNet WebAPI würde folgendes alles erlauben:

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

Es ist wichtig darauf hinzuweisen, dass das Zulassen von "*" eine potentielle Sicherheitslücke darstellt, da Sie sagen, dass jemand von jedem diese Methoden aufrufen kann.

https://src-bin.com

Ich habe einen ASP.NET-Web-API-Dienst erstellt und CORS in diesem Dienst aktiviert. Dieser Service wird für die Bereitstellung von Berichtsvorlagenressourcen (html, image, css, font) . Der Webclient lädt die Vorlage und zeigt den Bericht basierend auf der heruntergeladenen Vorlage an.

Also, mit dem Service enpoint: http://templates.domain.com , und ich versuche den Dienst (REST, Image, Font) aus einer Web-App ( http://client.domain.com ), dann den Webclient App lädt:

  • 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 der obigen Abbildung funktionieren die REST-API, CSS und Bilder des Service gut, die Schriftart ist jedoch blockiert / fehlgeschlagen.

Die Schriftart vom Ursprung ' http: // localhost: 49350 ' wurde vom Laden durch die Richtlinie für die gemeinsame Ressourcenzuteilung gesperrt: Auf der angeforderten Ressource ist kein 'Access-Control-Allow-Origin'-Header vorhanden. Ursprung 'null'

Bisher habe ich die folgenden Lösungen ausprobiert, aber die Schrift ist immer noch blockiert.

  1. Microsoft.Owin.Cors :

    app.UseCors(CorsOptions.AllowAll);

  2. Microsoft.AspNet.WebApi.Cors :

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





cors