|
Problémaleírás Amikor egy domének közötti hívás ASP.NET MVC-t vagy egy webes API-ASP.NET írt szolgáltatást, elérhetetlenné válik. Szaporodási módszer
Ok-elemzés A cross-domain probléma alapvető oka az, hogy a böngésző mindkét kérésre alacsony jogosultsággal rendelkezik, és általában csak a helyi tartományban lévő erőforrásokhoz engedélyez hívásokat, hacsak a célszerver kifejezetten nem jelzi neki, hogy a tartományok közötti hívások engedélyezettek. Ezért, bár a cross-domain problémát a böngésző viselkedése okozza, a megoldás a szerver oldalán van. Mert nem lehetséges minden kliensnek megkövetelni a biztonság csökkentését.
megoldás Mind ASP.NET MVC, mind ASP.NET Web API projekttípusok esetében utánanéztem, és megállapítottam, hogy a következő forgatókönyv megvalósítható. ASP.NET MVC-hez csak a következő tartalmat kell hozzáadni a web.config oldalra
ASP.NET Web API-k esetében a fent említett beállításokon túl speciális tervezést kell hozzáadni, amely minden API-vezérlőhöz egy OPTIONS metódust ad, de semmi visszaadás nélkül. public string Options() { return null; HTTP 200 válasz üres testtel }
Megjegyzés: Ez a funkció kutatással is megoldható, és talán jobb lehet szűrőként megtervezni.
|