Sicurezza basata sui ruoli
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 sicurezza 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 sicurezza basata sui ruoli di .NET Framework supporta l'autorizzazione rendendo disponibili al thread corrente informazioni sull'oggetto Principal, creato da 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 sicurezza (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 System.Security.Permissions.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 l'entità di protezione deve corrispondere ed è compatibile sia con i controlli di sicurezza 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 sicurezza basata sui ruoli sufficientemente flessibile ed estendibile da rispondere alle esigenze di un'ampia gamma di applicazioni. È possibile scegliere di interagire con infrastrutture di sicurezza esistenti, quali i servizi di COM+ 1.0, oppure scegliere di creare un sistema di autenticazione personalizzato. La sicurezza basata sui ruoli è adatta in particolar modo per l'utilizzo in applicazioni Web ASP.NET, che vengono elaborate principalmente sul server. La sicurezza basata sui ruoli di .NET Framework può tuttavia essere utilizzata sia su client che su server.
Prima di leggere questa sezione, è importante aver compreso le nozioni esposte in Concetti principali sulla sicurezza.
Argomenti correlati
Titolo |
Descrizione |
---|---|
Viene illustrato come configurare e gestire identità e principali sia Windows che generici. |
|
Viene descritto come implementare oggetti di permesso in modo dichiarativo e in modo imperativo. |
|
Viene descritto come implementare i controlli di sicurezza in modo dichiarativo, in modo imperativo o accedendo direttamente a un oggetto Principal. |
|
Viene fornita una panoramica delle modalità di interazione tra la sicurezza di COM+ 1.0 e .NET Framework. |
|
Vengono introdotti concetti fondamentali che è necessario comprendere a fondo prima di affrontare il tema della sicurezza di .NET Framework. |
|
Vengono elencati e descritti brevemente gli strumenti di sicurezza inclusi in .NET Framework. |