133 od 153 ljudi je to našlo za koristno Ko je identiteta ustvarjena, lahko pripada eni ali več vlogam, na primer Tracy lahko pripada vlogam skrbnika in uporabnika, medtem ko Scott pripada le uporabniški vlogi. Kako so te vloge ustvarjene in upravljane, je odvisno od podporne zaloge avtorizacijskega procesa. Vloge so razvijalcu predstavljene preko lastnosti IsInRole v razredu ClaimsPrincipal.
Nova identiteta lahko pripada eni ali več vlogam, na primer, Tracy lahko pripada vlogam administratorja in uporabnika, medtem ko Scott pripada samo uporabniški vlogi. Kako se te vloge ustvarjajo in upravljajo, je odvisno od tega, kako je shranjen postopek avtorizacije. Metoda IsInRole razreda ClaimsPrincipal razvijalcem omogoča, da uporabljajo to vlogo.
Dodajanje preverjanj vlog Dodajanje validacije vlog
Preverjanja avtorizacije na podlagi vlog so deklarativna – razvijalec jih vgradi v svojo kodo, proti krmilniku ali dejanju znotraj krmilnika, pri čemer določi vloge, ki jih mora trenutni uporabnik Bodite član za dostop do zahtevanega vira.
Avtentikacija na podlagi vlog temelji na zahtevkih, ki jo razvijalci vgradijo v svojo kodo, dodeljujejo vloge kontrolerju ali metodam znotraj njega in določajo, da morajo uporabniki v zahtevi izpolnjevati ustrezne zahteve za članstvo.
Na primer, naslednja koda bi omejila dostop do vseh dejanj na AdminControllerju na uporabnike, ki so člani skupine Administratorjev.
Na primer, naslednja koda bo omejila katerokoli metodo v AdministrationControllerju, da se uporablja le kot član skupine Administrator.
Več vlog lahko določite kot seznam, ločen z vejico;
Na seznam z delitvijo vejic lahko dodate več dodeljenih vlog:
Ta krmilnik bi bil dostopen le uporabnikom, ki so člani vloge kadrovskega svetovalca ali vloge finančnega oddelka.
Kontrolor bo dostopen le članom vloge kadrovskega svetovalca ali finančnega oddelka.
Če uporabite več atributov, mora biti uporabnik, ki dostopa, član vseh določenih vlog; naslednji vzorec zahteva, da je uporabnik član tako vloge PowerUser kot ControlPanelUser.
Če uporabljate več atributov, mora biti uporabnik dostopa član vseh vlog; Naslednji primer zahteva, da je uporabnik član tako vlog PowerUser kot ControlPanelUser.
Dostop lahko dodatno omejite z dodajanjem dodatnih atributov avtorizacije vlog na ravni dejanj;
Na ravni metode lahko uporabite dodatne atribute za avtorizacijo vlog za uvedbo dodatnih omejitev uporabe;
V prejšnjih kodnih izsekih lahko člani vloge Administrator ali PowerUser dostopajo do krmilnika in akcije SetTime, vendar lahko le člani vloge Administrator dostopajo do Akcija ShutDown.
V prejšnjem kodnem odlomku lahko člani vlog Administrator ali PowerUser uporabljajo metode Controller in SetTime, vendar lahko metodo ShutDown uporabljajo le člani vloge Administratorja.
Lahko tudi zaklenete kontroler, vendar dovolite anonimen, neoverjen dostop do posameznih dejanj.
Lahko blokirate tudi kontroler, vendar anonimnim uporabnikom dovolite uporabo ločenih metod brez dovoljenja.
Preverjanja vlog na podlagi politik Preverjanja vlog na podlagi politik
Zahteve vlog je mogoče izraziti tudi z novo sintakso politike, kjer razvijalec ob zagonu registrira politiko kot del konfiguracije storitve Authorization. To običajno sodeluje v ConfigureServices() v vaši Startup.cs datoteki.
Vloge je mogoče doseči tudi z uporabo nove sintakse politik, kjer razvijalci registrirajo politiko kot del konfiguracije avtorizacijske storitve ob zagonu. Ta se običajno doda v ConfigureServices(Sartup.cs datoteke).
Politike se uporabljajo z lastnostjo Politika na atributu AuthorizeAtribut;
Politiko implementirajte z uporabo lastnosti Politika nad lastnostjo AuthorizeAtribut.
Če želite določiti več dovoljenih vlog v zahtevi, jih lahko določite kot parametre v metodi RequireRole;
Če želite v zahtevi določiti več vlog, jih lahko določite kot več parametrov metode RequireRole:
njegov primer avtorizira uporabnike, ki pripadajo vlogam Administrator, PowerUser ali BackupAdministrator.
Pooblaščeni uporabnik v tem primeru bo pripadal vlogi Administrator, PowerUser ali BackupAdministrator.
Preneseno iz:Prijava do hiperpovezave je vidna. |