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

Pohľad: 31277|Odpoveď: 2

[Zdroj] Autorizácia založená na úlohách

[Kopírovať odkaz]
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 false
Budúci:TS Chýbajúci radix parameter (radix)
 Prenajímateľ| Zverejnené 7.6.2020 21:36:01 |


Ak chcete aplikovať len poslednú vlastnosť, teda:

Do vlastného filtra môžete pridať nasledujúce:


AllowMultiple

Tento atribút označuje, či je možné naše vlastné funkcie umiestniť viackrát pred tú istú entitu programu.
 Prenajímateľ| Zverejnené 10.6.2020 o 11:46:34 |
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