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ó. |