Autorizzazioni di accesso al codice

I permessi di accesso al codice sono oggetti di autorizzazione utilizzati per proteggere risorse e operazioni dall'utilizzo non autorizzato. Rappresentano una parte fondamentale del meccanismo di Common Language Runtime volto ad applicare le restrizioni di sicurezza sul codice gestito.

Ciascun permesso di accesso al codice rappresenta uno dei seguenti diritti:

  • Il diritto di accedere a una risorsa protetta, quale un file o una variabile di ambiente.

  • Il diritto di eseguire un'operazione protetta, quale l'accesso a codice non gestito.

Tutti i permessi di accesso al codice possono essere richiesti o pretesi dal codice ed è il runtime a decidere se e quali permessi concedere al codice.

Ciascuna autorizzazione di accesso al codice deriva dalla classe CodeAccessPermission. Ciò significa che tutte le autorizzazioni di accesso al codice hanno in comune metodi quali Demand, Assert, Deny, PermitOnly, IsSubsetOf, Intersect e Union.

Nota importanteImportante

In .NET Framework versione 4 il supporto di runtime è stato rimosso per l'applicazione delle richieste di autorizzazione Deny, RequestMinimum, RequestOptional e RequestRefuse.Queste richieste non devono essere utilizzate nel codice basato su .NET Framework 4 o versioni successive.Per ulteriori informazioni su questa e altre modifiche, vedere Modifiche della sicurezza in .NET Framework 4.

In .NET Framework sono disponibili i seguenti permessi di accesso al codice.

Nome classe autorizzazione

Diritto rappresentato

AspNetHostingPermission

Accesso alle risorse in ambienti host ASP.NET.

DirectoryServicesPermission

Accesso alle classi System.DirectoryServices.

DnsPermission

Accesso al Domain Name System (DNS).

EnvironmentPermission

Lettura o scrittura di variabili di ambiente.

EventLogPermission

Accesso in lettura o scrittura ai servizi del log eventi.

FileDialogPermission

Accesso ai file selezionati dall'utente in una finestra di dialogo Apri.

FileIOPermission

Lettura, aggiunta o scrittura di file o directory.

IsolatedStorageFilePermission

Accesso ad archiviazioni isolate, ovvero archiviazioni associate a un utente specifico e ad alcuni aspetti dell'identità del codice, quali il sito Web, l'editore (publisher) e la firma (signature) a esso relativi.

MessageQueuePermission

Accesso a code di messaggi mediante le interfacce gestite di Microsoft Message Queuing (MSMQ).

OdbcPermission

Accesso a un'origine dati ODBC.

OleDbPermission

Accesso a database tramite OLE DB.

OraclePermission

Accesso a un database Oracle.

PerformanceCounterPermission

Accesso a contatori delle prestazioni.

PrintingPermission

Accesso alle stampanti.

ReflectionPermission

Individuazione di informazioni su un tipo in fase di esecuzione.

RegistryPermission

Lettura, scrittura, creazione o eliminazione di chiavi e valori di registro.

SecurityPermission

Esecuzione, asserzione di autorizzazioni, chiamata nel codice non gestito, omissione della verifica e altri diritti.

ServiceControllerPermission

Accesso a servizi in esecuzione o inattivi.

SocketPermission

Creazione o accettazione di connessioni su un indirizzo di trasporto.

SqlClientPermission

Accesso a database SQL.

UIPermission

Accesso alle funzionalità dell'interfaccia utente.

WebPermission

Creazione o accettazione di connessioni su un indirizzo Web.

In .NET Framework sono disponibili inoltre le classi astratte riportate di seguito che è possibile utilizzare per creare autorizzazioni personalizzate.

Nome classe autorizzazione

Diritto rappresentato

DBDataPermission

Accesso a un database.

IsolatedStoragePermission

Accesso a uno spazio di archiviazione isolata.

ResourcePermissionBase

Accesso a risorse di sistema.

Vedere anche

Riferimenti

CodeAccessPermission

Concetti

Autorizzazioni di sicurezza