Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 31277|Odpowiedź: 2

[Źródło] Autoryzacja oparta na roli

[Skopiuj link]
Opublikowano 7.06.2020 21:25:56 | | |
133 z 153 osób uznało to za pomocne
Gdy tożsamość jest tworzona, może należeć do jednej lub więcej ról, na przykład Tracy może należeć do ról administratora i użytkownika, podczas gdy Scott może należeć tylko do roli użytkownika. Sposób tworzenia i zarządzania tymi rolami zależy od magazynu wsparcia procesu autoryzacji. Role są udostępniane deweloperowi poprzez własność IsInRole w klasie ClaimsPrincipal.

Nowa tożsamość może należeć do jednej lub kilku ról, na przykład Tracy może należeć do ról Administratora i Użytkownika, a Natomiast Scott może należeć tylko do roli Użytkownika. Sposób tworzenia i zarządzania tymi rolami zależy od tego, jak przechowywany jest proces autoryzacji. Metoda IsInRole klasy ClaimsPrincipal umożliwia programistom korzystanie z roli.

Dodanie sprawdzania ról Dodawanie walidacji ról

Sprawdzanie autoryzacji oparte na rolach jest deklaratywne – programista osadza je w swoim kodzie, na kontrolerze lub na akcji w kontrolerze, określając role, które musi aktualny użytkownik Zostań członkiem , aby uzyskać dostęp do żądanego zasobu.

Uwierzytelnianie oparte na rolach opiera się na roszczeniach, które deweloperzy osadzają w swoim kodzie, przypisując role kontrolerowi lub metodom w jego obrębie, określając, że użytkownicy żądania muszą spełniać odpowiednie wymagania członkostwa.

Na przykład poniższy kod ograniczałby dostęp do wszelkich działań na AdministratorControllerze do użytkowników należących do grupy Administratorów.

Na przykład poniższy kod ograniczy dowolną metodę w AdministratorController, aby była używana wyłącznie przez członka grupy Administratorów.



Możesz określić wiele ról jako listę rozdzieloną przecinkami;

Możesz dodać kilka przypisanych ról do listy z przecinkami:



Ten kontroler byłby dostępny tylko dla użytkowników będących członkami roli HRManager lub Finansów.

Kontroler będzie dostępny wyłącznie dla członków roli HRManager lub Finansów.

Jeśli zastosujesz wiele atrybutów, użytkownik uzyskujący dostęp musi być członkiem wszystkich określonych ról; poniższy przykład wymaga, aby użytkownik był członkiem zarówno PowerUser, jak i ControlPanelUser.

Jeśli używasz wielu atrybutów, użytkownik dostępu musi być członkiem wszystkich ról; Poniższy przykład wymaga, aby użytkownik był członkiem zarówno ról PowerUser, jak i ControlPanelUser.



Możesz dodatkowo ograniczyć dostęp, stosując dodatkowe atrybuty autoryzacji ról na poziomie akcji;

Możesz użyć dodatkowych atrybutów autoryzacji ról na poziomie metody, aby nałożyć dodatkowe ograniczenia użycia;




W poprzednich fragmentach kodu członkowie roli Administratora lub PowerUser mogą uzyskać dostęp do kontrolera i akcji SetTime, ale tylko członkowie roli administratora mają dostęp do Akcja ShutDown.

W poprzednim fragmencie kodu członkowie ról Administrator lub PowerUser mogą korzystać z metod kontrolera i SetTime, ale tylko członkowie roli administratora mogą korzystać z metody ShutDown.

Możesz też zablokować kontroler, ale pozwolić na anonimowy, nieuwierzytelniony dostęp do poszczególnych działań.

Możesz też zablokować kontroler, ale pozwolić anonimowym użytkownikom korzystać z oddzielnych metod bez autoryzacji.



Sprawdzanie ról oparte na politykach Sprawdzanie ról oparte na zasadach

Wymagania dotyczące ról można również wyrażać za pomocą nowej składni polityki, gdzie programista rejestruje politykę przy starcie jako część konfiguracji usługi autoryzacji. Zazwyczaj odbywa się to w pliku ConfigureServices() w pliku Startup.cs.

Role można również osiągnąć poprzez zastosowanie nowej składni polityki, gdzie programiści rejestrują politykę jako część konfiguracji usługi autoryzacji podczas uruchamiania. Zazwyczaj jest to dodawane do pliku ConfigureServices() pliku Sartup.cs.



Polityki są stosowane za pomocą właściwości Polityka na atributie AuthorizeAtribut;

Wprowadź politykę, używając właściwości Policy na wierzchu właściwości AuthorizeAtribut.



Jeśli chcesz określić wiele dozwolonych ról w wymaganiu, możesz je określić jako parametry w metodzie RequireRole;

Jeśli chcesz określić wiele ról w żądaniu, możesz je określić jako wiele parametrów metody RequireRole:



jego przykład autoryzuje użytkowników należących do ról Administrator, PowerUser lub BackupAdministrator.

Użytkownik upoważniony w tym przykładzie będzie należał do roli Administrator, PowerUser lub BackupAdministrator.

Przeniesiono z:Logowanie do linku jest widoczne.




Poprzedni:Rozwiązano problem, że HttpContext.User.IsInRole() zawsze zwraca fałszywe informacje
Następny:TS Brakujący parametr podstawkowy (radix)
 Ziemianin| Opublikowano 7.06.2020 21:36:01 |


Jeśli chcesz zastosować tylko ostatnią cechę, to znaczy:

Możesz dodać następujące elementy do niestandardowego filtra:


DowolnośćWielokrotność

Ten atrybut oznacza, czy nasze niestandardowe funkcje mogą być umieszczone wielokrotnie przed tą samą encją programu.
 Ziemianin| Opublikowano 2020-6-10 11:46:34 |
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com