|
|
Julkaistu 2020-6-7 21:25:56
|
|
|

133/153 henkilöstä koki tämän hyödylliseksi Kun identiteetti luodaan, se voi kuulua yhteen tai useampaan rooliin, esimerkiksi Tracy voi kuulua Ylläpitäjän ja Käyttäjän rooleihin, kun taas Scott voi kuulua vain käyttäjärooliin. Miten nämä roolit luodaan ja hallitaan, riippuu valtuutusprosessin taustavarastosta. Roolit paljastetaan kehittäjälle ClaimsPrincipal-luokan IsInRole-ominaisuuden kautta.
Uusi identiteetti voi kuulua yhteen tai useampaan rooliin, esimerkiksi Tracy voi kuulua ylläpitäjä- ja käyttäjärooliin, ja Scott voi kuulua vain käyttäjärooliin. Miten nämä roolit luodaan ja hallitaan, riippuu siitä, miten valtuutusprosessi tallennetaan. ClaimsPrincipal-luokan IsInRole-menetelmä antaa kehittäjille roolin käytön.
Roolitarkistusten lisääminen Lisää roolin validointi
Roolipohjaiset valtuutustarkistukset ovat deklaratiivisia – kehittäjä upottaa ne koodiinsa, ohjainta tai toimintoa vastaan ohjaimen sisällä, määritellen roolit, jotka nykyisen käyttäjän on suoritettava Ole jäsen saadaksesi pyydetyn resurssin.
Roolipohjainen tunnistautuminen perustuu vaatimuksiin, jonka kehittäjät upottavat koodiinsa, määrittäen roolit ohjaimelle tai sen sisällä olevalle metodille ja määrittäen, että pyynnön käyttäjien on täytettävä vastaavat jäsenyysvaatimukset.
Esimerkiksi seuraava koodi rajoittaa pääsyn kaikkiin AdministrationControllerin toimintoihin käyttäjille, jotka kuuluvat Administrator-ryhmään.
Esimerkiksi seuraava koodi rajoittaa minkä tahansa metodin käytön AdministrationControllerissa vain Administrator-ryhmän jäsenenä.
Voit määrittää useita rooleja pilkulla eroteltuna listana;
Voit lisätä useita nimettyjä rooleja pilkulistalle:
Tämä ohjaaja olisi käytettävissä vain käyttäjille, jotka kuuluvat HRManager- tai Finance-rooliin.
Controller on käytettävissä vain HRManagerin tai Finance-roolin jäsenille.
Jos sovellat useita attribuutteja, käyttäjän on oltava jäsenenä kaikissa määritellyissä rooleissa; seuraava esimerkki edellyttää, että käyttäjän on oltava sekä PowerUser- että ControlPanelUser-roolin jäsen.
Jos käytät useita attribuutteja, pääsyn käyttäjän on oltava kaikkien roolien jäsen; Seuraava esimerkki edellyttää, että käyttäjä kuuluu sekä PowerUser- että ControlPanelUser-rooleihin.
Voit rajoittaa pääsyä lisäämällä roolivaltuutuksen attribuutteja toimintotasolla;
Voit käyttää lisäroolivaltuutusattribuutteja metoditasolla lisäkäyttörajoitusten asettamiseen;
Edellisessä koodipätkässä Ylläpitäjän tai PowerUser-roolin jäsenet voivat päästä käsiksi ohjaimeen ja SetTime-toimintoon, mutta vain Ylläpitäjän jäsenet voivat käyttää ShutDown-toiminta.
Edellisessä koodipätkässä Ylläpitäjä- tai PowerUser-roolin jäsenet voivat käyttää Controller- ja SetTime-metodeja, mutta vain Administrator-roolin jäsenet voivat käyttää ShutDown-metodia.
Voit myös lukita ohjaimen, mutta sallia anonyymin, tunnistamattoman pääsyn yksittäisiin toimintoihin.
Voit myös estää ohjaimen, mutta sallia anonyymien käyttäjien käyttää erillisiä menetelmiä ilman lupaa.
Politiikkaan perustuvat roolitarkistukset Politiikkapohjaiset roolitarkistukset
Roolivaatimukset voidaan myös ilmaista uudella Policy-syntaksilla, jossa kehittäjä rekisteröi politiikan käynnistyksessä osana valtuutuspalvelun konfiguraatiota. Tämä osallistuu yleensä ConfigureServices():iin Startup.cs-tiedostossasi.
Roolit voidaan saavuttaa myös käyttämällä uutta politiikkasyntaksia, jossa kehittäjät rekisteröivät politiikan osaksi valtuutuspalvelun konfiguraatiota käynnistyksessä. Tämä lisätään yleensä Sartup.cs-tiedoston ConfigureServices().
Politiikat sovelletaan AuthorizeAttribute-attribuutin Policy-ominaisuuden avulla;
Toteuta politiikka käyttämällä AuthorizeAttribute-ominaisuuden päällä olevaa Policy-ominaisuutta.
Jos haluat määrittää useita sallittuja rooleja vaatimuksessa, voit määrittää ne RequireRole-metodin parametreina;
Jos haluat määritellä useita rooleja pyynnössä, voit määrittää ne useina RequireRole-metodin parametreina:
hänen esimerkkinsä valtuuttaa käyttäjät, jotka kuuluvat Administrator-, PowerUser- tai BackupAdministrator-rooleihin.
Tässä esimerkissä valtuutettu käyttäjä kuuluu Administrator-, PowerUser- tai BackupAdministrator-rooliin.
Siirretty:Hyperlinkin kirjautuminen on näkyvissä. |
Edellinen:Ratkaistu ongelma, jossa HttpContext.User.IsInRole() palauttaa aina falseSeuraava:TS Puuttuva radix-parametri (radix)
|