133 no 153 cilvēkiem to uzskatīja par noderīgu Kad identitāte tiek izveidota, tā var piederēt vienai vai vairākām lomām, piemēram, Treisijs var piederēt administratora un lietotāja lomām, bet Skots var piederēt tikai lietotāja lomai. Tas, kā šīs lomas tiek izveidotas un pārvaldītas, ir atkarīgs no autorizācijas procesa dublējuma krātuves. Lomas attīstītājam tiek atklātas, izmantojot rekvizītu IsInRole klasē ClaimsPrincipal.
Jaunā identitāte var piederēt vienai vai vairākām lomām, piemēram, Treisija var piederēt lomām Administrators un Lietotājs, un Kamēr Skots var piederēt tikai Lietotāja lomai. Tas, kā šīs lomas tiek izveidotas un pārvaldītas, ir atkarīgs no tā, kā tiek glabāts autorizācijas process. Klases ClaimsPrincipal metode IsInRole nodrošina izstrādātājiem iespēju izmantot lomu.
Lomu pārbaužu pievienošana Lomu validācijas pievienošana
Uz lomām balstītas autorizācijas pārbaudes ir deklaratīvas - izstrādātājs tās iegulda savā kodā, pret kontrolieri vai darbību kontrolierī, norādot lomas, kas pašreizējam lietotājam ir jāuzņemas Esiet dalībnieks, lai piekļūtu pieprasītajam resursam.
Lomu autentifikācija ir balstīta uz pretenzijām, ko izstrādātāji iegulda savā kodā, piešķirot lomas kontrolierim vai tajā esošajām metodēm, norādot, ka lietotājiem pieprasījumā jāatbilst atbilstošajām dalības prasībām.
Piemēram, tālāk norādītais kods ierobežo piekļuvi visām darbībām AdministrationController lietotājiem, kas ir administratoru grupas dalībnieki.
Piemēram, tālāk norādītais kods ierobežos jebkuru AdministrationController metodi, ko var izmantot tikai administratoru grupas dalībnieks.
Jūs varat norādīt vairākas lomas kā komatu atdalītu sarakstu;
Komatu sadalījuma sarakstam var pievienot vairākas piešķirtās lomas:
Šis kontrolieris būs pieejams tikai lietotājiem, kas ir HRManager vai Finanšu lomas dalībnieki.
Kontrolieris būs pieejams tikai HRManager vai Finanšu lomas dalībniekiem.
Ja lietojat vairākus atribūtus, lietotājam, kas piekļūst, ir jābūt visu norādīto lomu dalībniekam; Šajā piemērā ir nepieciešams, lai lietotājam būtu jābūt gan PowerUser, gan ControlPanelUser lomas dalībniekam.
Ja izmantojat vairākus atribūtus, piekļuves lietotājam ir jābūt visu lomu dalībniekam; Tālāk sniegtajā piemērā lietotājam ir jābūt gan PowerUser, gan ControlPanelUser lomu dalībniekam.
Varat vēl vairāk ierobežot piekļuvi, darbības līmenī lietojot papildu lomu autorizācijas atribūtus;
Varat izmantot papildu lomu autorizācijas atribūtus metodes līmenī, lai lietotu papildu lietošanas ierobežojumus;
Iepriekšējā koda fragmentā administratora lomas vai PowerUser lomas dalībnieki var piekļūt kontrollerim un darbībai SetTime, bet tikai administratora lomas dalībnieki var piekļūt Izslēgšanas darbība.
Iepriekšējā koda fragmentā administratora vai PowerUser lomu dalībnieki var izmantot kontrollera un SetTime metodes, bet tikai administratora lomas dalībnieki var izmantot metodi ShutDown.
Varat arī bloķēt kontrolieri, bet atļaut anonīmu, neautentificētu piekļuvi atsevišķām darbībām.
Varat arī bloķēt kontrolieri, bet ļaut anonīmiem lietotājiem izmantot atsevišķas metodes bez atļaujas.
Uz politiku balstītas lomu pārbaudes Uz politiku balstītas lomu pārbaudes
Lomu prasības var izteikt arī, izmantojot jauno politikas sintaksi, kur izstrādātājs reģistrē politiku startēšanas laikā kā daļu no autorizācijas pakalpojuma konfigurācijas. Parasti tas piedalās ConfigureServices() jūsu Startup.cs failā.
Lomas var iegūt arī, izmantojot jaunu politikas sintaksi, kur izstrādātāji reģistrē politiku kā daļu no autorizācijas pakalpojuma konfigurācijas startēšanas laikā. Tas parasti tiek pievienots Sartup.cs faila ConfigureServices().
Politikas tiek lietotas, izmantojot atribūta AuthorizeAttribute rekvizītu Politika;
Ieviesiet politiku, izmantojot rekvizītu Politika, kas atrodas rekvizīta AuthorizeAttribute augšpusē.
Ja prasībā vēlaties norādīt vairākas atļautās lomas, varat tās norādīt kā metodes RequireRole parametrus;
Ja pieprasījumā vēlaties norādīt vairākas lomas, varat tās norādīt kā vairākus metodes RequireRole parametrus:
viņa piemērs autorizē lietotājus, kas pieder pie lomām Administrators, PowerUser vai BackupAdministrator.
Autorizētais lietotājs šajā piemērā piederēs lomai Administrators, PowerUser vai BackupAdministrator.
Pārcelts no:Hipersaites pieteikšanās ir redzama. |