Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 31277|Antwoord: 2

[Bron] Rolgebaseerde autorisatie

[Link kopiëren]
Geplaatst op 7-6-2020 21:25:56 | | |
133 van de 153 mensen vonden dit nuttig
Wanneer een identiteit wordt aangemaakt, kan deze tot één of meer rollen behoren, bijvoorbeeld Tracy kan tot de rollen Administrator en Gebruiker behoren, terwijl Scott alleen tot de gebruikersrol behoort. Hoe deze rollen worden aangemaakt en beheerd, hangt af van de backing store van het autorisatieproces. Rollen worden aan de ontwikkelaar blootgesteld via de IsInRole-eigenschap op de ClaimsPrincipal-klasse.

De nieuwe identiteit kan tot één of meer rollen behoren, bijvoorbeeld Tracy kan tot de rollen Administrator en Gebruiker behoren, en terwijl Scott alleen tot de rol Gebruiker kan behoren. Hoe deze rollen worden aangemaakt en beheerd, hangt af van hoe het autorisatieproces wordt opgeslagen. De IsInRole-methode van de ClaimsPrincipal-klasse geeft ontwikkelaars inzicht in hoe ze de rol kunnen gebruiken.

Rol toevoegen controles Rol validatie toevoegen

Rolgebaseerde autorisatiecontroles zijn declaratief - de ontwikkelaar verwerkt ze in zijn code, tegen een controller of een actie binnen een controller, waarbij rollen worden gespecificeerd die de huidige gebruiker moet aangeven Lid zijn van om toegang te krijgen tot de gevraagde bron.

Rolgebaseerde authenticatie is claim-based, waarbij ontwikkelaars in hun code inbouwen en rollen toewijzen aan een controller of methoden daarin, waarbij wordt gespecificeerd dat gebruikers in een verzoek aan de bijbehorende lidmaatschapsvereisten moeten voldoen.

Bijvoorbeeld, de volgende code zou de toegang tot alle acties op de AdministrationController beperken tot gebruikers die lid zijn van de Administrator-groep.

Bijvoorbeeld, de volgende code beperkt elke methode in de AdministrationController tot alleen gebruik door lid te zijn van de Administrator-groep.



Je kunt meerdere rollen specificeren als een komma-gescheiden lijst;

Je kunt meerdere toegewezen rollen toevoegen aan een komma-split-lijst:



Deze controller is alleen toegankelijk voor gebruikers die lid zijn van de HRManager-rol of de Finance-rol.

De controller is alleen toegankelijk voor leden van de HRManager-rol of de Finance-rol.

Als je meerdere attributen toepast, moet een gebruiker die toegang heeft tot alle gespecificeerde rollen; het volgende voorbeeld vereist dat een gebruiker lid moet zijn van zowel de PowerUser- als de ControlPanelUser-rol.

Als je meerdere attributen gebruikt, moet de toegangsgebruiker lid zijn van alle rollen; Het volgende voorbeeld vereist dat een gebruiker lid is van zowel de PowerUser- als de ControlPanelUser-rollen.



Je kunt de toegang verder beperken door extra rolautorisatieattributen toe te passen op actieniveau;

Je kunt extra rolautorisatieattributen op methodeniveau gebruiken om extra gebruiksbeperkingen toe te passen;




In het vorige codefragment kunnen leden van de Administrator-rol of de PowerUser-rol toegang krijgen tot de controller en de SetTime-actie, maar alleen leden van de Administrator-rol kunnen de Afsluitactie.

In het vorige codefragment kunnen leden van de Administrator- of PowerUser-rollen de controller- en SetTime-methoden gebruiken, maar alleen leden van de Administrator-rol kunnen de ShutDown-methode gebruiken.

Je kunt ook een controller vergrendelen, maar anonieme, niet-geauthenticeerde toegang geven tot individuele acties.

Je kunt ook een controller blokkeren, maar anonieme gebruikers toestaan om zonder toestemming aparte methoden te gebruiken.



Beleidsgebaseerde rolcontroles Beleidsgebaseerde rolcontroles

Rolvereisten kunnen ook worden uitgedrukt met de nieuwe beleidssyntaxis, waarbij een ontwikkelaar een beleid registreert bij het opstarten als onderdeel van de configuratie van de autorisatieservice. Dit vindt normaal gesproken plaats in ConfigureServices() in je Startup.cs bestand.

Rollen kunnen ook worden bereikt door een nieuwe beleidssyntaxis te gebruiken, waarbij ontwikkelaars een beleid registreren als onderdeel van de configuratie van de autorisatieservice bij het opstarten. Dit wordt meestal toegevoegd aan de ConfigureServices() van het Sartup.cs-bestand.



Beleidsregels worden toegepast met de Policy-eigenschap op het AuthorizeAttribut-attribuut;

Implementeer het beleid door de eigenschap Policy bovenop de eigenschap AuthorizeAttribute te gebruiken.



Als je meerdere toegestane rollen in een vereiste wilt specificeren, kun je ze als parameters voor de RequireRole-methode opgeven;

Als je meerdere rollen in een verzoek wilt specificeren, kun je ze als meerdere parameters van de RequireRole-methode opgeven:



zijn voorbeeld machtigt gebruikers die tot de rollen Administrator, PowerUser of BackupAdministrator behoren.

De geautoriseerde gebruiker in dit voorbeeld behoort tot de rol Administrator, PowerUser of BackupAdministrator.

Overgedragen van:De hyperlink-login is zichtbaar.




Vorig:Het probleem opgelost waarbij HttpContext.User.IsInRole() altijd false teruggeeft
Volgend:TS Ontbrekende radixparameter (radix)
 Huisbaas| Geplaatst op 7-6-2020 21:36:01 |


Als je alleen de laatste eigenschap wilt toepassen, dat wil zeggen:

Je kunt het volgende toevoegen aan het aangepaste filter:


AllowMultiple

Deze eigenschap geeft aan of onze aangepaste functies meerdere keren vóór dezelfde programma-entiteit geplaatst kunnen worden.
 Huisbaas| Geplaatst op 2020-6-10 11:46:34 |
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com