Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 31277|Odpověď: 2

[Zdroj] Autorizace založená na rolích

[Kopírovat odkaz]
Zveřejněno 7. 6. 2020 21:25:56 | | |
133 z 153 lidí to považovalo za užitečné
Když je identita vytvořena, může patřit jedné nebo více rolím, například Tracy může patřit rolím Administrátora a Uživatele, zatímco Scott může patřit pouze do uživatelské role. Jak jsou tyto role vytvářeny a spravovány, závisí na záložní stránce autorizačního procesu. Role jsou vývojáři zpřístupněny prostřednictvím vlastnosti IsInRole ve třídě ClaimsPrincipal.

Nová identita může patřit jedné nebo více rolím, například Tracy může patřit rolím Administrátora a Uživatele, zatímco Scott může patřit pouze do role Uživatele. Jak jsou tyto role vytvářeny a spravovány, závisí na tom, jak je uložen autorizační proces. Metoda IsInRole třídy ClaimsPrincipal poskytuje vývojářům návod, jak tuto roli používat.

Přidání kontrol rolí Přidání validace rolí

Autorizační kontroly založené na rolích jsou deklarativní – vývojář je vkládá do svého kódu, proti řadiči nebo akci v řadiči, přičemž určuje role, které musí aktuální uživatel Buďte členem pro přístup k požadovanému zdroji.

Autentizace založená na rolích je založená na nárokech, kterou vývojáři vkládají do svého kódu, přiřazují role řadiči nebo metodám v něm a specifikují, že uživatelé v požadavku musí splnit odpovídající požadavky na členství.

Například následující kód by omezil přístup k jakýmkoli akcím na Administrátoru pouze na uživatele, kteří jsou členy skupiny Administrátorů.

Například následující kód omezí jakoukoli metodu v AdministrationControlleru, aby byla používána pouze členem skupiny Administrátorů.



Můžete specifikovat více rolí jako seznam oddělený čárkou;

Můžete přidat více přiřazených rolí do seznamu rozděleného čárkou:



Tento kontrolér by byl přístupný pouze uživatelům, kteří jsou členy role HRManager nebo finančního oddělení.

Kontrolor bude přístupný pouze členům role HRManager nebo pozice finančního.

Pokud aplikujete více atributů, musí přistupující uživatel být členem všech specifikovaných rolí; následující ukázka vyžaduje, aby uživatel byl členem jak PowerUser, tak ControlPanelUser.

Pokud používáte více atributů, uživatel přístupu musí být členem všech rolí; Následující příklad vyžaduje, aby uživatel byl členem rolí PowerUser i ControlPanelUser.



Přístup můžete dále omezit použitím dalších atributů autorizace role na úrovni akce;

Na úrovni metody můžete použít další atributy autorizace rolí k aplikaci dalších omezení použití;




V předchozích úryvcích kódu mohou členové role Administrátora nebo PowerUser přistupovat k řadiči a akci SetTime, ale pouze členové role Administrátora mohou přistupovat k Akce ShutDown.

V předchozím úryvku kódu mohou členové rolí Administrátor nebo PowerUser používat metody Controller a SetTime, ale pouze členové role Administrátora mohou používat metodu ShutDown.

Můžete také uzamknout kontrolér, ale povolit anonymní, neautentizovaný přístup k jednotlivým akcím.

Můžete také zablokovat kontrolér, ale anonymním uživatelům povolit používat samostatné metody bez autorizace.



Kontroly rolí založené na politikách Kontroly rolí založené na zásadách

Požadavky na roli lze také vyjádřit pomocí nové syntaxe politiky, kde vývojář zaregistruje politiku při spuštění jako součást konfigurace služby autorizace. To se obvykle děje v ConfigureServices() ve vašem Startup.cs souboru.

Role lze také dosáhnout použitím nové syntaxe politik, kde vývojáři registrují politiku jako součást konfigurace autorizační služby při startu. Obvykle se to přidává do ConfigureServices() souboru Sartup.cs.



Politiky se aplikují pomocí vlastnosti Policy na atributu AuthorizeAtribut;

Implementujte politiku použitím vlastnosti Policy nad vlastností AuthorizeAtribut.



Pokud chcete v požadavku specifikovat více povolených rolí, můžete je zadat jako parametry pro metodu RequireRole;

Pokud chcete v požadavku specifikovat více rolí, můžete je specifikovat jako více parametrů metody RequireRole:



jeho příklad autorizuje uživatele, kteří patří do rolí Administrator, PowerUser nebo BackupAdministrator.

Oprávněný uživatel v tomto příkladu bude patřit do role Administrator, PowerUser nebo BackupAdministrator.

Převedeno z:Přihlášení k hypertextovému odkazu je viditelné.




Předchozí:Vyřešeno problém, kdy HttpContext.User.IsInRole() vždy vrací false
Další:TS Chybějící radix parametr (radix)
 Pronajímatel| Zveřejněno 7. 6. 2020 21:36:01 |


Pokud chcete aplikovat pouze poslední vlastnost, tedy je:

Do vlastního filtru můžete přidat následující:


PovolitNásobek

Tento atribut označuje, zda lze naše vlastní funkce umístit vícekrát před stejnou entitu programu.
 Pronajímatel| Zveřejněno 10. 6. 2020 11:46:34 |
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com