Condividi tramite


Introduzione alla protezione basata sui ruoli

Aggiornamento: novembre 2007

I ruoli vengono spesso utilizzati nelle applicazioni finanziarie o aziendali per applicare i criteri di sicurezza. È, ad esempio, possibile che in un'applicazione siano imposti limiti alle dimensioni della transazione in corso di elaborazione in funzione del ruolo rivestito dall'utente che effettua la richiesta. I dipendenti potranno essere autorizzati a elaborare unicamente transazioni inferiori a una determinata soglia, per i supervisori tale limite sarà superiore e per i vicepresidenti ancora più alto (o addirittura non vi sarà alcun limite). È inoltre possibile ricorrere alla protezione basata sui ruoli quando un'applicazione necessita di più approvazioni per completare un'operazione. È questo ad esempio il caso di un sistema di acquisto in cui qualsiasi dipendente può generare una richiesta di acquisto, ma solo un agente di acquisto è in grado di convertire tale richiesta in un ordine di acquisto da inviare a un fornitore.

La protezione basata sui ruoli di .NET Framework supporta l'autorizzazione rendendo disponibili al thread corrente informazioni sul principale, che viene creato sulla base di un'identità associata. L'identità (e il principale che essa aiuta a definire) può essere basata su un account Windows o essere un'identità personalizzata non correlata ad alcun account Windows. Le applicazioni .NET Framework possono decidere in merito all'autorizzazione sulla base dell'identità del principale, dell'appartenenza a un ruolo o di entrambi i fattori. Un ruolo è il nome di un insieme di principali che presentano gli stessi privilegi relativamente alla protezione (ad esempio un cassiere o un direttore). Un principale può rivestire uno o più ruoli. Le applicazioni possono pertanto utilizzare l'appartenenza ai ruoli per determinare se un principale è autorizzato a eseguire un'operazione richiesta.

Allo scopo di garantire semplicità di utilizzo e uniformità con la sicurezza dall'accesso di codice, la sicurezza basata su ruoli di .NET Framework fornisce oggetti PrincipalPermission che consentono a Common Language Runtime di eseguire l'autorizzazione in modo analogo ai controlli della sicurezza dall'accesso di codice. La classe PrincipalPermission rappresenta l'identità o il ruolo a cui il principale deve corrispondere ed è compatibile sia con i controlli di protezione dichiarativi che con quelli imperativi. È inoltre possibile accedere direttamente alle informazioni sull'identità di un principale ed eseguire controlli di ruolo e di identità nel codice quando necessario.

.NET Framework fornisce un supporto della protezione basata sui ruoli sufficientemente flessibile ed estendibile da rispondere alle esigenze di un'ampia gamma di applicazioni. È possibile scegliere di interagire con infrastrutture di protezione esistenti, quali i servizi di COM+ 1.0, oppure scegliere di creare un sistema di autenticazione personalizzato. La protezione basata sui ruoli è adatta in particolar modo per l'utilizzo in applicazioni Web ASP.NET, che vengono elaborate principalmente sul server. La protezione basata sui ruoli di .NET Framework può tuttavia essere utilizzata sia su client che su server.

Vedere anche

Riferimenti

PrincipalPermission

Altre risorse

Sicurezza basata sui ruoli

Concetti principali sulla protezione