|
|
Zverejnené 7.6.2020 21:25:56
|
|
|

133 z 153 ľudí to považovalo za užitočné Keď sa vytvorí identita, môže patriť jednej alebo viacerým rolám, napríklad Tracy môže patriť do rolí administrátora a používateľa, zatiaľ čo Scott môže patriť len do roly používateľa. Spôsob, akým sa tieto role vytvárajú a spravujú, závisí od úložiska schvaľovacieho procesu. Pozície sú vývojárovi sprístupnené prostredníctvom vlastnosti IsInRole v triede ClaimsPrincipal.
Nová identita môže patriť do jednej alebo viacerých rolí, napríklad Tracy môže patriť do rolí administrátora a používateľa, zatiaľ čo Scott môže patriť len do roly používateľa. Spôsob, akým sa tieto role vytvárajú a spravujú, závisí od toho, ako je autorizačný proces uložený. Metóda IsInRole triedy ClaimsPrincipal poskytuje vývojárom spôsob, ako túto rolu používať.
Pridanie kontrol rolí Pridanie validácie rolí
Kontroly autorizácie založené na rolách sú deklaratívne – vývojár ich vkladá do svojho kódu, proti kontroléru alebo akcii v rámci kontroléra, pričom určuje roly, ktoré musí aktuálny používateľ Staňte sa členom na prístup k požadovanému zdroju.
Autentifikácia založená na rolách je založená na nárokoch, ktorú vývojári vkladajú do svojho kódu, priraďujú úlohy kontroléru alebo metódam v ňom a špecifikujú, že používatelia v požiadavke musia spĺňať príslušné požiadavky na členstvo.
Napríklad nasledujúci kód by obmedzil prístup k akýmkoľvek akciám na Administrátore len na používateľov, ktorí sú členmi skupiny Administrátorov.
Napríklad nasledujúci kód obmedzí akúkoľvek metódu v AdministrationControlleri, aby bola použitá iba ako člen skupiny Administrátor.
Môžete špecifikovať viacero rolí ako zoznam oddelený čiarkou;
Môžete pridať viacero priradených rolí do zoznamu rozdeleného čiarkami:
Tento kontrolér by bol prístupný len pre používateľov, ktorí sú členmi HRManager alebo finančnej pozície.
Kontrolór bude prístupný iba členom pozície HRManager alebo finančnej pozície.
Ak aplikujete viacero atribútov, pristupujúci používateľ musí byť členom všetkých špecifikovaných rolí; nasledujúca ukážka vyžaduje, aby bol používateľ členom rolí PowerUser aj ControlPanelUser.
Ak používate viacero atribútov, používateľ prístupu musí byť členom všetkých rolí; Nasledujúci príklad vyžaduje, aby bol používateľ členom rolí PowerUser aj ControlPanelUser.
Prístup môžete ďalej obmedziť použitím ďalších atribútov autorizácie rolí na úrovni akcie;
Na úrovni metódy môžete použiť ďalšie atribúty autorizácie rolí na aplikáciu ďalších obmedzení použitia;
V predchádzajúcich úryvkoch kódu môžu členovia roly Administrátora alebo PowerUser pristupovať k kontroléru a akcii SetTime, ale iba členovia roly Administrátora môžu pristupovať k Akcia ShutDown.
V predchádzajúcom úryvku kódu môžu členovia rolí Administrátor alebo PowerUser používať metódy Controller a SetTime, ale metódu ShutDown môžu používať len členovia roly Administrator.
Môžete tiež uzamknúť kontrolér, ale povoliť anonymný, neoverený prístup k jednotlivým akciám.
Môžete tiež zablokovať kontrolér, ale anonymným používateľom umožniť používať samostatné metódy bez povolenia.
Kontroly rolí založené na politikách Kontroly rolí založené na politikách
Požiadavky na rolu je možné tiež vyjadriť pomocou novej syntaxe Politiky, kde vývojár zaregistruje politiku pri štarte ako súčasť konfigurácie služby Authorization. Toto sa zvyčajne deje v ConfigureServices() vo vašom Startup.cs súbore.
Úlohy je možné dosiahnuť aj použitím novej syntaxe politík, kde vývojári registrujú politiku ako súčasť konfigurácie autorizačnej služby pri štarte. Toto sa zvyčajne pridáva do ConfigureServices() súboru Sartup.cs.
Politiky sa aplikujú pomocou vlastnosti Politika na atribúte AuthorizeAtribút;
Implementujte politiku použitím vlastnosti Policy nad vlastnosťou AuthorizeAtribút.
Ak chcete špecifikovať viacero povolených rolí v požiadavke, môžete ich špecifikovať ako parametre metódy RequireRole;
Ak chcete v požiadavke špecifikovať viacero rolí, môžete ich špecifikovať ako viacero parametrov metódy RequireRole:
jeho príklad autorizuje používateľov, ktorí patria do rolí Administrátor, PowerUser alebo BackupAdministrator.
Oprávnený používateľ v tomto príklade bude patriť do rolí Administrátor, PowerUser alebo BackupAdministrator.
Prenesené z:Prihlásenie na hypertextový odkaz je viditeľné. |
Predchádzajúci:Vyriešilo to problém, že HttpContext.User.IsInRole() vždy vracia falseBudúci:TS Chýbajúci radix parameter (radix)
|