133 av 153 personer syntes dette var nyttig Når en identitet opprettes, kan den tilhøre én eller flere roller, for eksempel kan Tracy tilhøre Administrator- og Brukerrollene, mens Scott kun kan tilhøre brukerrollen. Hvordan disse rollene opprettes og administreres avhenger av bakgrunnslageret i autorisasjonsprosessen. Roller eksponeres for utvikleren gjennom IsInRole-egenskapen på ClaimsPrincipal-klassen.
Den nye identiteten kan tilhøre én eller flere roller, for eksempel kan Tracy tilhøre administrator- og brukerrollene, og mens Scott kun kan tilhøre brukerrollen. Hvordan disse rollene opprettes og administreres avhenger av hvordan autorisasjonsprosessen lagres. IsInRole-metoden i ClaimsPrincipal-klassen gir utviklere hvordan de kan bruke rollen.
Å legge til rolle sjekker Legg til rollevalidering
Rollebaserte autorisasjonssjekker er deklarative – utvikleren legger dem inn i sin kode, mot en kontroller eller en handling i en controller, og spesifiserer roller som den nåværende brukeren må ha Bli medlem av for å få tilgang til den forespurte ressursen.
Rollebasert autentisering er kravbasert, hvor utviklere legger inn i koden sin, tildeler roller til en kontroller eller metoder innenfor den, og spesifiserer at brukere i en forespørsel må oppfylle de tilsvarende medlemskapskravene.
For eksempel vil følgende kode begrense tilgangen til alle handlinger på AdministrationController til brukere som er medlemmer av Administrator-gruppen.
For eksempel vil følgende kode begrense enhver metode i AdministrationController til kun å være medlem av Administrator-gruppen.
Du kan spesifisere flere roller som en kommaseparert liste;
Du kan legge til flere tildelte roller i en komma-split-liste:
Denne kontrolleren vil kun være tilgjengelig for brukere som er medlemmer av HRManager-rollen eller finansrollen.
Controlleren vil kun være tilgjengelig for medlemmer av HRManager-rollen eller finansrollen.
Hvis du bruker flere attributter, må en tilgang være medlem av alle de spesifiserte rollene; følgende eksempel krever at en bruker må være medlem av både PowerUser- og ControlPanelUser-rollen.
Hvis du bruker flere attributter, må tilgangsbrukeren være medlem av alle rollene; Følgende eksempel krever at en bruker er medlem av både PowerUser- og ControlPanelUser-rollene.
Du kan ytterligere begrense tilgangen ved å bruke flere rolleautorisasjonsattributter på handlingsnivå;
Du kan bruke ekstra rolleautorisasjonsattributter på metodenivå for å påføre flere bruksbegrensninger;
I den forrige kodesnippeten kan medlemmer av Administrator-rollen eller PowerUser-rollen få tilgang til kontrolleren og SetTime-handlingen, men kun medlemmer av Administrator-rollen kan få tilgang til ShutDown-handling.
I forrige kodesnippet kan medlemmer av Administrator- eller PowerUser-rollene bruke kontroller- og SetTime-metodene, men kun medlemmer av Administrator-rollen kan bruke ShutDown-metoden.
Du kan også låse en kontroller, men tillate anonym, uautentisert tilgang til individuelle handlinger.
Du kan også blokkere en kontroller, men la anonyme brukere bruke separate metoder uten tillatelse.
Policybaserte rollesjekker Policy-baserte rollesjekker
Rollekrav kan også uttrykkes ved hjelp av den nye policysyntaksen, hvor en utvikler registrerer en policy ved oppstart som en del av autorisasjonstjenestekonfigurasjonen. Dette skjer vanligvis i ConfigureServices() i din Startup.cs-fil.
Roller kan også oppnås ved å bruke en ny policysyntaks, hvor utviklere registrerer en policy som en del av autorisasjonstjenestekonfigurasjonen under oppstart. Dette legges vanligvis til i Sartup.cs filens ConfigureServices().
Policyer brukes ved å bruke policy-egenskapen på attributtet AuthorizeAttribut;
Implementer policyen ved å bruke policy-egenskapen oppå egenskapen AuthorizeAttribut.
Hvis du vil spesifisere flere tillatte roller i et krav, kan du spesifisere dem som parametere til RequireRole-metoden;
Hvis du vil spesifisere flere roller i en forespørsel, kan du spesifisere dem som flere parametere i RequireRole-metoden:
hans eksempel autoriserer brukere som tilhører rollene Administrator, PowerUser eller BackupAdministrator.
Den autoriserte brukeren i dette eksempelet vil tilhøre rollen Administrator, PowerUser eller BackupAdministrator.
Overført fra:Innloggingen med hyperkoblingen er synlig. |