Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 44999|Odpoveď: 4

[ASP.NET] asp.net MVC umožňuje metóde jedného kontroléra prechádzať doménami

[Kopírovať odkaz]
Zverejnené 31. 7. 2018 10:13:37 | | | |
Čo je Cors?

CORS je štandard W3C, čo znamená "Cross-origin resource sharing" (zdieľanie zdrojov medzi zdrojmi).
Umožňuje prehliadaču posielať požiadavky XMLHttpRequest na servery naprieč originálmi, čím prekonáva obmedzenie, že AJAX môže byť použitý len homogénne.

1. Úvod

CORS vyžaduje podporu prehliadača aj servera. V súčasnosti túto funkciu podporujú všetky prehliadače a prehliadač IE nemôže byť nižší ako IE10.

Celý komunikačný proces CORS je automaticky vykonávaný prehliadačom a nevyžaduje účasť používateľa. Pre vývojárov komunikácia cez CORS sa nelíši od homologickej AJAX komunikácie a kód je úplne rovnaký. Keď prehliadač zistí, že požiadavka AJAX prechádza cez zdroj, automaticky pridá ďalšie informácie v hlavičke a niekedy ešte jednu požiadavku, ale používateľ to nepocíti.

Preto je kľúčom k dosiahnutiu komunikácie CORS server. Pokým server implementuje rozhranie CORS, môže komunikovať naprieč zdrojmi.

V skutočnosti webové serverové programy (ako ASP.NET alebo PHP a pod.) nedokážu rozlíšiť a nebudú spravovať, či prichádzajúci Http request je Ajax požiadavka naprieč doménami.CORS je navrhnutý na riešenie tohto problému a vlastný štandard CORS W3C poskytuje prehliadačom mechanizmus na povolenie požiadaviek Ajaxu naprieč doménami.

2: Natívny kód požiadaviek pre JS Ajax

Keďže nechcem odkazovať na jQuery, zapuzdril som nasledujúce metódy pomocou js, nasledovne:

Ajax žiada rozhranie a nájde chybu nasledovne:




Tretie: Nastaviť metódu kontroléra tak, aby umožnila prechod cez domény

Ako takVšetci sú povoleníMetóda ovládača alebo API je cross-domain, v súbore web.configsystem.webServerPod uzlom sa pridáva nasledujúca konfigurácia:

Vyššie uvedené nie je výsledok, ktorý sme chceli! Ak chceme povoliť prístup k jednému z našich rozhraní naprieč doménami, musíme definovať funkciu, ktorá vyzerá takto:

Kód na nastavenie oprávnení prístupu medzi doménami je tento odsek HttpContext.Response.AppendHeader("Access-Control-Allow-Origin", origin);

Charakteristiky na základe riadiacej metódy nastavujeme nasledovne:

Znovu spustíme požiadavku Ajaxu s výsledkom, ktorý je zobrazený nižšie:



Zdroje API rozhrania z našich ostatných webových stránok sú úspešne prístupné.

(Koniec)





Predchádzajúci:Ahojte všetci{:1_7:}
Budúci:CSS text je skrytý za týmito dvoma metódami
 Prenajímateľ| Zverejnené 17. 6. 2019 14:23:05 |
HTTP metódy požiadaviek nie sú len GET a POST, ale sú len najčastejšie používané. Podľa RFC2616 štandardu (aktuálny HTTP/1.1) existuje zvyčajne 8 metód: OPTIONS,, POST, PUT, DELETE, TRACE a CONNECT.

Metóda žiadosti OPTIONS má dva hlavné využitia:

1. Zabezpečiť, aby server podporoval metódu HTTP požiadaviek; Je to tiež metóda často používaná hackermi.

2. Používa sa na kontrolu výkonu servera. Napríklad, keď AJAX vykoná požiadavku naprieč doménami, musí poslať HTTP OPTIONS hlavičku do zdroja inej domény, aby zistil, či je skutočná požiadavka bezpečná.
 Prenajímateľ| Zverejnené 4. 11. 2019 17:29:52 |
jquery.min.js:2 Cross-Origin Read Blocking (CORB) blocked cross-origin response http://192.168.252.193:2019/home/tests aplikáciou/jsonom typu MIME. Pozrihttps://www.chromestatus.com/feature/5629709824032768Pre viac detailov.
 Prenajímateľ| Zverejnené 19. 1. 2020 15:33:23 |

Zverejnené 12. 11. 2021 15:59:52 |
Dobre napísané, učené
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com