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

Pohľad: 27998|Odpoveď: 3

[Zdroj] Asp.Net autentifikácia a autorizácia v MVC

[Kopírovať odkaz]
Zverejnené 16. 3. 2017 13:47:34 | | |

MVC prichádza s ActionFilter
Na dosiahnutie autentifikácie identity Asp.NET vo WebForm nám Microsoft poskytuje tri spôsoby, z ktorých najčastejšie používaným je autentifikácia cez formulár, ktorú je potrebné nakonfigurovať s príslušnými informáciami. Napríklad nasledujúce konfiguračné informácie:


Znamená to, že naša prihlasovacia stránka je Login.aspx, predvolená stránka po úspešnom prihlásení je Default.aspx a naše používateľské informácie používajú dva spôsoby: overovanie a šifrovanie. A najdôležitejšie je, že musíme napísať autorizačný spôsob (autorizácia nižšie musí byť napísaná, inak je zbytočné používať len autentifikáciu cez formuláre a potom nastavovať relevantné atribúty), zamietnuť všetkých anonymných používateľov a normálne pristupovať len prihlásení používatelia. Potom nastavíme tlačidlo prihlásenia, aby do cookie zapísalo používateľské meno (teda spustilo FormsAuthentication.SetAuthCookie(name, false); To je všetko.
0 V Asp.Net MVC môžeme tiež použiť autentifikáciu cez Formy, ale ak to urobíte vo WebForme, nebude to fungovať. Napríklad nakonfigurujete informácie takto:


V Login.aspx si nastavíte prihlásenie, aby ste spustili prihlásenie v AccountControllere, kde je prihlasovací kód:

Po tomto zistíte, že vaše prihlásenie nebude vykonané. Aký je dôvod? Prečo rovnaké nastavenie nefunguje v MVC? Dôvodom je, že mechanizmus je iný, pretože nastavíte autorizačný spôsob, ktorý robí prihlásenie neprístupným. Ako to teda urobíme?
V skutočnosti, Asp.Net MVC máme lepší spôsob, ako to všetko urobiť, nepotrebujeme autorizačnú metódu, čo znamená, že naše konfiguračné informácie vyzerajú takto:




Nie je potrebné špecifikovať, že anonymní používatelia sa nemôžu prihlásiť a podobne. Samozrejme, zistíte, že len toto nestačí, ale musíme systému povedať, na ktoré karty sa musia prihlásiť. Možno si myslíte, o()〈))o Och, to je príliš veľa problémov. Nie je to tak, je to veľmi jednoduché, stačí označiť [Autorizovať] na akcii, ktorá potrebuje byť overená. Napríklad mám dve stránky v priečinku Domov, Index a Home, a chcem, aby bol Index autentifikovaný na prístup, ale Home nie, takže Indexu stačí dať značku Akcia [Autorizovať], teda:



To umožňuje prístup k Indexu po prihlásení, zatiaľ čo Home nemusí byť prihlásený. Ak potrebujete autorizovať roly, môžete pri označovaní Authorize špecifikovať túto rolu (napr. [Authorize(Role=Administrators)]), ale musíte použiť mechanizmus členstva poskytovaný Microsoftom, pretože vaša rola nemôže existovať zbytočne, ale existuje v príslušnej databáze, o ktorej som písal v inom blogu.
Prispôsobiť ActionFilter
Niekedy nemusíte splniť tento typ autentifikácie, alebo ak máte pocit, že nie ste dostatočne flexibilní, potom to nevadí, Asp.Net MVC vám umožňuje prispôsobiť si ActionFilter. Napríklad teraz prispôsobujem autentifikáciu:


Ak je potrebná správa používateľov, definujem filtre súvisiace s rolou:

V skutočnosti zistíte, že vyššie uvedené dva atribúty boli v skutočnosti vyriešené vstavaným autorizovaným algoritmom MVC, a tu vám hlavne hovoríme, že ho môžete rozšíriť, ak je to potrebné.
Tak to je na dnes všetko! Stiahnutie zdrojového kódu: FormFormsAuthenticationMvc





Predchádzajúci:Po upgrade VPS je proces približne 45 a CPU dosiahne 100,
Budúci:Upozornenie: "Nájdené nevyriešené konflikty medzi rôznymi verziami tej istej závislej zostavy"
 Prenajímateľ| Zverejnené 30. 3. 2017 9:40:22 |
Zverejnené 28. 12. 2017 14:58:56 |
Bolo by lepšie, keby existovali vizualizácie
Zverejnené 7. 2. 2023 15:44:56 |

Bolo by lepšie, keby existovali vizualizácie
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