Protezione basata sui ruoli in applicazioni gestite

La protezione basata sui ruoli è un concetto comune nella progettazione di applicazioni in cui lo sviluppatore prende decisioni sull'autorizzazione in base all'identità o ai ruoli dell'entità per conto della quale viene eseguita un'applicazione. La definizione dei ruoli è in genere specifica per l'applicazione, così come le condizioni in base alle quali gli amministratori autorizzano operazioni specifiche.

In genere, gli sviluppatori di applicazioni prendono decisioni relative all'autorizzazione in base all'identità e ai ruoli associati al contesto di esecuzione. Si tratta di un'operazione comune nei sistemi finanziari o aziendali come mezzo di attivazione dei criteri. È ad esempio possibile imporre limiti sul valore di una transazione a seconda del ruolo dell'utente che effettua la richiesta. Gli impiegati saranno autorizzati a elaborare unicamente transazioni inferiori a un determinato valore che sarà superiore per i supervisori e ancora più elevato per i vicepresidenti. Un altro esempio è rappresentato da un sistema aziendale in cui sono richieste più approvazioni per completare un'operazione, come un sistema di acquisto in cui qualsiasi impiegato può generare una richiesta di acquisto, ma solo un agente agli acquisti è in grado di elaborare tale richiesta in un ordine di acquisto da inviare a un fornitore.

In passato, tali requisiti erano spesso gestiti con meccanismi proprietari. Microsoft ha introdotto per prima un'infrastruttura per supportare questo tipo di protezione basato sui ruoli con Microsoft Transaction Server e, più recentemente, con i servizi COM+ 1.0. .NET Framework offre un supporto simile, ma ben integrato nel modello di programmazione .NET. I meccanismi di protezione di .NET Framework, basati sui ruoli, offrono quanto segue.

  • Possibilità di controllare l'identità e il ruolo dell'entità per conto della quale viene eseguito il codice.
  • Integrazione efficiente con le applicazioni distribuite mediante .NET Remoting.
  • Funzionamento coerente negli ambienti di esecuzione client e server.
  • Esposizione di questi servizi agli sviluppatori di applicazioni con meccanismi simili ai controlli di protezione dell'accesso al codice.
  • Sono diffusi e sempre disponibili.
  • Sono facili da configurare per l'utilizzo dei ruoli definiti dalle applicazioni.

Vedere anche

Protezione | Protezione dall'accesso di codice | Protezione Web di HttpChannel