Ich verwende WebApi wie ich von Ссылка
gelernt habeAlles funktioniert gut, wenn ich genau die perfekte Ursprungs-URI der Anfragen meines Kunden kenne. Schade, ich schreibe eine unternehmensweite API, also meine Anfrage an, sagen Ссылка
kann von Apps in meiner gesamten Domain kommen, sagen wir:
Liste ... und alle neuen Apps, die mein Unternehmen erstellt.
Wie kann ich das am besten angehen? Die Verwendung von Origins="*"
ist kitschig, das Hinzufügen von Ursprüngen zu meiner WS-Quelle und das erneute Bereitstellen ist etwas schäbiger.
Meine aktuelle Lösung ist das Schreiben eines benutzerdefinierten CorsPolicyAttribute wie in Ссылка
und lesen Sie die erlaubten Ursprünge aus Appsettings in web.config. Ein wenig besser könnte sein, innerhalb des benutzerdefinierten Attributs zu überprüfen, ob die Anfrage Origin: header von contoso.com stammt, vielleicht mit einem regulären Ausdruck, und es den erlaubten Ursprüngen hinzufügen.
Ich frage mich, ob es einen besseren Standard gibt.
Verwenden Sie eine DynamicPolicyProviderFactory . Das ist, was ich benutze ... Ich habe sogar eine Frage gestellt Am nächsten Tag zeigt das, wie man der web.config Datei die erlaubten Domains hinzufügt.
Ich habe gerade ein AuthorizationFilterAttribute geschrieben, obwohl ich vielleicht gerade ein reguläres FilterAttribute gemacht habe.
%Vor%Tags und Links asp.net-web-api asp.net cors