133 iš 153 žmonių tai buvo naudinga Kai tapatybė yra sukurta, ji gali priklausyti vienam ar keliems vaidmenims, pavyzdžiui, Tracy gali priklausyti administratoriaus ir vartotojo vaidmenims, o Scott gali priklausyti tik vartotojo vaidmeniui. Kaip šie vaidmenys kuriami ir valdomi, priklauso nuo autorizacijos proceso atsarginės saugyklos. Vaidmenys kūrėjui rodomi per ypatybę IsInRole klasėje ClaimsPrincipal.
Nauja tapatybė gali priklausyti vienam ar keliems vaidmenims, pvz., Tracy gali priklausyti administratoriaus ir vartotojo vaidmenims, o Scott gali priklausyti tik vartotojo vaidmeniui. Kaip šie vaidmenys kuriami ir valdomi, priklauso nuo to, kaip saugomas autorizavimo procesas. Klasės ClaimsPrincipal metodas IsInRole suteikia kūrėjams, kaip naudoti vaidmenį.
Vaidmenų tikrinimo įtraukimas Įtraukti vaidmens tikrinimą
Vaidmenimis pagrįsti autorizacijos patikrinimai yra deklaratyvūs - kūrėjas įterpia juos į savo kodą, prieš valdiklį arba veiksmą valdiklyje, nurodydamas vaidmenis, kuriuos turi dabartinis vartotojas būti nariu, kad pasiektumėte prašomą išteklių.
Vaidmenimis pagrįstas autentifikavimas yra pagrįstas pretenzijomis, kurį kūrėjai įterpia į savo kodą, priskirdami vaidmenis valdikliui ar jame esantiems metodams, nurodydami, kad užklausoje esantys vartotojai turi atitikti atitinkamus narystės reikalavimus.
Pavyzdžiui, šis kodas apribotų prieigą prie bet kokių veiksmų AdministrationController vartotojams, kurie yra administratorių grupės nariai.
Pavyzdžiui, šis kodas apribos bet kurį AdministrationController metodą, kurį galima naudoti tik būnant administratorių grupės nariu.
Galite nurodyti kelis vaidmenis kaip kableliais atskirtą sąrašą;
Į kablelių skaidymo sąrašą galite įtraukti kelis priskirtus vaidmenis:
Šis valdiklis būtų pasiekiamas tik vartotojams, kurie yra HRManager arba Finansų vaidmens nariai.
Kontrolierius bus pasiekiamas tik HRManager arba Finansų vaidmens nariams.
Jei pritaikote kelis atributus, prieigą pasiekiantis vartotojas turi būti visų nurodytų vaidmenų narys; Toliau pateiktame pavyzdyje reikalaujama, kad vartotojas būtų ir PowerUser, ir ControlPanelUser vaidmens narys.
Jei naudojate kelis atributus, prieigos vartotojas turi būti visų vaidmenų narys; Toliau pateiktame pavyzdyje reikalaujama, kad vartotojas būtų PowerUser ir ControlPanelUser vaidmenų narys.
Galite dar labiau apriboti prieigą taikydami papildomus vaidmens autorizavimo atributus veiksmo lygiu;
Galite naudoti papildomus vaidmens autorizavimo atributus metodo lygiu, kad pritaikytumėte papildomus naudojimo apribojimus;
Ankstesniame kodo fragmente administratoriaus vaidmens arba "PowerUser" vaidmens nariai gali pasiekti valdiklį ir veiksmą SetTime, tačiau tik administratoriaus vaidmens nariai gali pasiekti Išjungimo veiksmas.
Ankstesniame kodo fragmente administratoriaus arba "PowerUser" vaidmenų nariai gali naudoti valdiklio ir SetTime metodus, tačiau tik administratoriaus vaidmens nariai gali naudoti metodą ShutDown.
Taip pat galite užrakinti valdiklį, bet leisti anoniminę, neautentifikuotą prieigą prie atskirų veiksmų.
Taip pat galite užblokuoti valdiklį, bet leisti anoniminiams vartotojams naudoti atskirus metodus be leidimo.
Politika pagrįsti vaidmenų patikrinimai Politika pagrįsti vaidmenų patikrinimai
Vaidmens reikalavimus taip pat galima išreikšti naudojant naują strategijos sintaksę, kai kūrėjas užregistruoja strategiją paleidžiant kaip autorizacijos tarnybos konfigūracijos dalį. Paprastai tai dalyvauja ConfigureServices() jūsų Startup.cs faile.
Vaidmenis taip pat galima pasiekti naudojant naują strategijos sintaksę, kai kūrėjai registruoja strategiją kaip autorizavimo tarnybos konfigūracijos dalį paleidžiant. Paprastai jis pridedamas prie Sartup.cs failo ConfigureServices().
Strategijos taikomos naudojant atributo AuthorizeAttribute ypatybę Strategija;
Įgyvendinkite strategiją naudodami ypatybę Strategija, esančią ypatybės AuthorizeAttribute viršuje.
Jei reikalavime norite nurodyti kelis leistinus vaidmenis, galite nurodyti juos kaip metodo RequireRole parametrus;
Jei užklausoje norite nurodyti kelis vaidmenis, galite juos nurodyti kaip kelis metodo RequireRole parametrus:
jo pavyzdys įgalioja vartotojus, priklausančius Administrator, PowerUser arba BackupAdministrator vaidmenims.
Šiame pavyzdyje įgaliotasis vartotojas priklausys administratoriaus, "PowerUser" arba "BackupAdministrator" vaidmeniui.
Perkelta iš:Hipersaito prisijungimas matomas. |