1 messaggio dal 27 settembre 2016
Salve a tutti.
Sviluppo da diversi anni applicazioni WEB usando .NET 3.5
Ho sempre usato il provider MEMBERSHIP per le mie applicazioni. Con l'introduzione della nuovo proviate IDENTITY sono stati introdotti i CLAIMS ma non sono mai riuscito a capire il vantaggio (o se preferite la differenza) con i RUOLI che mi sembra di capire non spariscono.
Più in generale se in un'applicazione voglio definire dei ruoli per capire chi può fare cosa devo usare i CLAIM o ancora i ruoli?
Qualcuno mi può dare delucidazioni sintetiche o riferimenti (possibilmente in italiano) da consultare?

Grazie
Modificato da clembo67 il 26 luglio 2019 10:09 -
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
ogni claim serve a descrivere una caratteristica dell'utente, non solo il ruolo. L'identità dell'utente è di fatto composta di svariati claim, anche di tipo personalizzato, il che la rende simile a un qualsiasi documento di identità come il passaporto, la patente o la carta d'identità. Infatti, anche su questi documenti sono presenti dei "claim", ciascuno composto di un tipo e un valore:

Nome: Mario <--- Nome è il tipo del claim, mentre Mario è il valore
Cognome: Rossi
Luogo di nascita: Roma
Data di nascita: 12/3/1970
Altezza: 180
Occhi: Castani
Professione: Impiegato


Il "ruolo" è anch'esso un claim come gli altri. Più precisamente, è un claim che ha tipo ClaimTypes.Role (anche identificato da ClaimsIdentity.DefaultRoleClaimType).
Da un'applicazione MVC o WebAPI puoi usare l'attributo [Authorize(Roles = "ValoreRuolo")] per consentire l'accesso solo a quelle identità che recano tale claim e il cui valore è "ValoreRuolo".

I claim non devono essere univoci ma possono apparire più volte. Ad esempio, in una identità ci possono essere più claim di tipo ClaimTypes.Role se l'utente appartiene a più ruoli.


Più in generale se in un'applicazione voglio definire dei ruoli per capire chi può fare cosa devo usare i CLAIM o ancora i ruoli?

E' indifferente. Se assegni un ruolo all'utente, questo avrà l'effetto di aggiungere un claim di tipo ClaimTypes.Role alla sua identità quando effettua il login e viene prodotto il cookie di autenticazione.
In alternativa, anziché il ruolo, puoi associargli direttamente tu il claim di tipo ClaimTypes.Role.

ciao,
Moreno
Modificato da BrightSoul il 26 luglio 2019 21:01 -

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.