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

Nézet: 31277|Válasz: 2

[Forrás] Szerepalapú hitelesítés

[Linket másol]
Közzétéve: 2020-6-7 21:25:56 | | |
153-ból 133 találta hasznosnak ezt
Amikor egy identitást létrehoznak, az egy vagy több szerephez tartozhat, például Tracy az Adminisztrátor és a Felhasználó szerepekhez tartozhat, míg Scott csak a felhasználói szerephez tartozhat. Az, hogy ezek a szerepek hogyan hozhatók létre és kezelhetők, attól függ, hogy milyen háttérben vannak az engedélyezési folyamat. A szerepek a fejlesztő számára az IsInRole tulajdonságon keresztül vannak elérhetők a ClaimsPrincipal osztályon.

Az új identitás egy vagy több szerephez tartozhat, például Tracy az Adminisztrátor és a Felhasználó szerepekhez, míg Scott csak a Felhasználó szerephez tartozhat. Az, hogy ezek a szerepkörek hogyan születnek és kezelnek, attól függ, hogyan tárolják a hitelesítési folyamatot. A ClaimsPrincipal osztály IsInRole módszere megmutatja a fejlesztők számára, hogyan használják fel a szerepet.

Szerepellenőrzések hozzáadása Szerepek ellenőrzése hozzáadása

A szerepalapú hitelesítési ellenőrzések deklaratívak – a fejlesztő beágyazza ezeket a kódjába, egy vezérlőhöz vagy egy vezérlőn belüli művelethez, megadva azokat a szerepeket, amelyeket a jelenlegi felhasználónak kell betöltenie Legyen tagja a kért forrás eléréséhez.

A szerepalapú hitelesítés igény-alapú, amelyet a fejlesztők beágyaznak a kódjukba, szerepeket rendelve egy vezérlőhöz vagy azon belüli metódusokhoz, és megadva, hogy a kérésben szereplőknek teljesíteniük kell a megfelelő tagsági követelményeket.

Például a következő kód korlátozná az AdministrationController bármely műveletéhez való hozzáférést azok számára, akik az Adminisztrátor csoport tagjai.

Például a következő kód korlátozza, hogy az AdministrationController bármely metódusát csak az Adminisztrátor csoport tagja használja fel.



Több szerepet is megadhatsz vesszóval elválasztott listában;

Több kijelölt szerepet is hozzáadhatsz egy vessző-osztott listához:



Ez a vezérlő csak azok a felhasználók számára érhető el, akik HRManager vagy a Pénzügyi szerep tagjai.

A kontroller csak a HRManager vagy a Pénzügyi szerep tagjai számára lesz elérhető.

Ha több attribútumot alkalmazol, akkor a hozzáférést végző felhasználónak minden megadott szerepkör tagjának kell lennie; a következő példa megköveteli, hogy a felhasználónak tagja legyen a PowerUser és a ControlPanelUser szerepnek.

Ha több attribútumot használsz, a hozzáférési felhasználónak minden szerep tagjának kell lennie; A következő példa megköveteli, hogy a felhasználó mind a PowerUser és a ControlPanelUser szerepkörének tagja legyen.



További hozzáférést korlátozhatsz, ha további szerepjogosultsági attribútumokat alkalmazhatsz az akciószinten;

További szerepengedélyezési attribútumokat használhatsz a metódus szintjén, hogy további használati korlátozásokat alkalmazz;




Az előző kódrészletben az Adrátor vagy a PowerUser szerep tagjai hozzáférhetnek a vezérlőhöz és a SetTime művelethez, de csak az Administrator szerep tagjai férhetnek hozzá Leállító akció.

Az előző kódrészletben az Adrátor vagy PowerUser szerepkör tagjai használhatják a vezérlő és a SetTime metódusokat, de csak az Adminisztrátor szerepkör tagjai használhatják a ShutDown módszert.

Lezárhatsz egy vezérlőt is, de engedélyezheted az anonim, hitelesítetlen hozzáférést az egyes műveletekhez.

Le lehet tiltani egy vezérlőt is, de engedheted az anonim felhasználók számára, hogy engedély nélkül külön módszereket használjanak.



Szabályzat-alapú szerepellenőrzések Politika-alapú szerepellenőrzések

A szerepkövetelmények kifejezésre is kifejezhetők az új Politika szintaxissal, ahol a fejlesztő indításkor regisztrál egy szabályzatot az Authorization szolgáltatás konfigurációjának részeként. Ez általában részt vesz a ConfigureServices() Startup.cs fájljában.

A szerepek új irányelvszintaxissal is elérhetők, ahol a fejlesztők regisztrálnak egy szabályzatot az engedélyezési szolgáltatás konfigurációjának részeként a startupban. Ezt általában hozzáadják a Sartup.cs fájl ConfigureServices() fájljához.



A szabályzatokat az AuthorizeAttribute attribútumán található Policy tulajdonsággal alkalmazzák;

A szabályzatot az AuthorizeAttribute tulajdonság fölött lévő Policy tulajdonsággal valósítsd meg.



Ha több engedélyezett szerepet szeretnél megadni egy követelményben, akkor megadhatod őket paraméterként a RequireRole metódban;

Ha több szerepet szeretnél megadni egy kérésben, azokat több paraméterként megadhatod a RequireRole metódusban:



példája engedélyezi azokat a felhasználókat, akik az Adminisztrátor, a PowerUser vagy a BackupAdministrator szerepkörhöz tartoznak.

A példában szereplő jogosult felhasználó az Administrator, PowerUser vagy BackupAdministrator szerepkörbe tartozik.

Áthelyezve:A hiperlink bejelentkezés látható.




Előző:Megoldottuk azt a problémát, hogy a HttpContext.User.IsInRole() mindig hamisat ad vissza
Következő:TS hiányzó radix paraméter (radix)
 Háziúr| Közzétéve: 2020-6-7 21:36:01 |


Ha csak az utolsó funkciót szeretnéd alkalmazni, azaz:

A következőket hozzáadhatja az egyedi szűrőhöz:


AllowMultiplex-et

Ez az attribútum jelzi, hogy a testreszabott funkcióink többször is elhelyezhetők-e ugyanaz a programentitás előtt.
 Háziúr| Közzétéve: 2020-6-10 11:46:34 |
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