Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 27998|Válasz: 3

[Forrás] Asp.Net hitelesítés és engedélyezés az MVC-ben

[Linket másol]
Közzétéve 2017. 03. 16. 13:47:34 | | |

Az MVC ActionFilter-rel érkezik
Az identitáshitelesítés eléréséhez Asp.NET WebFormban a Microsoft három lehetőséget kínál, amelyek közül a leggyakrabban a Form hitelesítés, amelyet a megfelelő információkkal kell konfigurálni. Például a következő konfigurációs információk:


Ez azt jelenti, hogy a bejelentkezési oldalunk Login.aspx, a sikeres bejelentkezés utáni alapértelmezett oldal Default.aspx, és a felhasználói adataink két módszert alkalmaznak: ellenőrzést és titkosítást. És a legfontosabb, hogy meg kell írnunk az engedélyezési módszert (az alábbi engedélyezést meg kell írni, különben használhatatlan csak Forms hitelesítést használni, majd a releváns attribútumokat beállítani), minden névtelen felhasználót meg kell taganunk, és csak a bejelentkezett felhasználók léphetnek hozzá normálisan. Ezután beállítjuk a bejelentkezési gombot, hogy a felhasználónevet írja be a cookie-ba (azaz végrehajtsuk a FormsAuthentication.SetAuthCookie(name, false) funkciót; Ennyi.
0 Asp.Net MVC-ben használhatjuk a Forms hitelesítést is, de ha WebFormban csinálod, az nem fog működni. Például így konfigurálod az információt:


Beállítasz egy bejelentkezést a Login.aspx-n, hogy a AccountControllerben bejelentkezzen a bejelentkezéshez, ahol a Bejelentkezés kódja:

Miután ezt megteszed, azt fogod tapasztalni, hogy a bejelentkezésed nem lesz végrehajtva. Mi az oka? Miért nem működik ugyanez a beállítás az MVC-ben? Ennek oka, hogy a mechanizmus más, mert beállítasz egy engedélyezési módszert, ami elérhetetlenné teszi a Logont. Szóval hogyan csináljuk?
Valójában Asp.Net MVC-ben jobb módja van mindeznek, nincs szükség engedélyezési módszerre, ami azt jelenti, hogy a konfigurációs információink így néznek ki:




Nem kell megadni, hogy az anonim felhasználók nem tudnak bejelentkezni stb. Természetesen azt fogod tapasztalni, hogy ez nem elég, de meg kell mondanunk a rendszernek, melyiket kell bejelentkezni a hozzáféréshez. Lehet, hogy azt gondolod, o()〈))o Ó, ez túl nagy gond. Nem erről van szó, nagyon egyszerű, csak meg kell jelölnünk [Engedélyezés] jelzést arra a Műveletre, amit hitelesíteni kell. Például két oldal van a Home mappában, az Index és a Home, és szeretném, ha az Index hitelesítést kapna a hozzáféréshez, de a Home nem, így csak az Indexnek kell megadnom az Action címkét [Authorize], azaz:



Ez lehetővé teszi, hogy az Indexhez belépés után hozzáférjen, míg a Home-nak nem kell bejelentkeznie. Ha szerepeket kell engedélyezned, akkor megadhatod a szerepet, amikor Authorize jelöled (pl. [Authorize(Role=Administrators)]), de a Microsoft által biztosított tagsági mechanizmust kell használnod, mert a szereped nem létezhet semmiért, hanem a megfelelő adatbázisban található, amit egy másik blogban említettem.
Testreszabni az ActionFilter
Néha előfordulhat, hogy nem tudsz megfelelni ennek a fajta hitelesítésnek, vagy ha úgy érzed, nem vagy elég rugalmas, akkor nem számít, Asp.Net az MVC lehetővé teszi, hogy testreszabd az ActionFilteredet. Például most már testreszabom az autentifikációt:


Ha felhasználókezelésre van szükség, meghatározom a szerepkörhöz kapcsolódó szűrőket:

Valójában azt fogod tapasztalni, hogy a fenti két attribútumot az MVC beépített Authorized funkciója megoldotta, és itt főként azt mondjuk, hogy szükség esetén bővítheted.
Na, ennyi volt már! Forráskód letöltés: FormFormsAuthenticationMvc





Előző:A VPS frissítés után a folyamat körülbelül 45 futás, a CPU pedig 100-ig fut,
Következő:Figyelem: "Megoldatlan konfliktusok találtak ugyanazon függő assembly különböző verziói között"
 Háziúr| Közzétéve 2017. 03. 30. 9:40:22 |
Közzétéve 2017. 12. 28. 14:58:56 |
Jobb lenne, ha lennének renderelések
Közzétéve 2023. 02. 07. 15:44:56 |

Jobb lenne, ha lennének renderelések
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com