Autorizzazioni

Common Language Runtime consente al codice di eseguire solo le operazioni che tale codice è autorizzato a eseguire. Il runtime utilizza oggetti definiti permessi per implementare il proprio meccanismo di applicazione di restrizioni al codice gestito. I permessi vengono utilizzati principalmente come illustrato di seguito:

  • Il codice può richiedere i permessi che necessita o che potrebbe utilizzare. Il sistema di protezione di .NET Framework determina se tali richieste sono accettabili. Le richieste vengono accettate solo se l'evidenza del codice permette la concessione di tali permessi. Qualunque sia la richiesta, al codice non vengono concessi mai più permessi di quanto consentito dalle impostazioni di protezione correnti. Può invece accadere che al codice vengano concesse autorizzazioni più restrittive.
  • Il runtime può concedere permessi al codice sulla base di caratteristiche dell'identità del codice, dei permessi richiesti e del livello di fiducia concessa al codice (livello determinato dai criteri di protezione o security policy impostati da un amministratore). Per ulteriori informazioni sulle modalità con cui il runtime decide quali permessi concedere, vedere Criteri di protezione e Concessione di autorizzazioni.
  • Il codice può esigere che i chiamanti dispongano di permessi specifici. Se si stabilisce, per un frammento di codice, la necessità di un determinato permesso, sarà necessario che tutto il codice che utilizza tale frammento disponga di tale permesso per poter essere eseguito.

Esistono tre tipi di permessi, ciascuno con uno scopo specifico:

  • Permessi di accesso al codice, che rappresentano l'accesso a una risorsa protetta o la possibilità di eseguire un'operazione protetta.
  • Permessi di identità, che indicano che il codice presenta credenziali che supportano un particolare tipo di identità.
  • Permessi della protezione basata sui ruoli, che offrono un meccanismo per verificare se un utente (o l'agente che opera per conto dell'utente) dispone di una particolare identità o ricopre un ruolo specifico. PrincipalPermission è l'unico permesso della protezione basata sui ruoli.

Il runtime fornisce classi di autorizzazione incorporate in vari spazi di nomi e offre inoltre un supporto per la progettazione e l'implementazione di classi di autorizzazione personalizzate.

Vedere anche

Concetti principali sulla protezione | Permessi di accesso al codice | Permessi di identità | Permessi della protezione basata sui ruoli