Permessi di accesso al codice
Aggiornamento: novembre 2007
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 protezione 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.
In .NET Framework sono disponibili i seguenti permessi di accesso al codice.
Nome classe autorizzazione |
Diritto rappresentato |
---|---|
Accesso alle risorse in ambienti host ASP.NET. |
|
Accesso alle classi System.DirectoryServices. |
|
Accesso al Domain Name System (DNS). |
|
Lettura o scrittura di variabili di ambiente. |
|
Accesso in lettura o scrittura ai servizi del log eventi. |
|
Accesso ai file selezionati dall'utente in una finestra di dialogo Apri. |
|
Lettura, aggiunta o scrittura di file o directory. |
|
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. |
|
Accesso a code di messaggi mediante le interfacce gestite di Microsoft Message Queuing (MSMQ). |
|
Accesso a un'origine dati ODBC. |
|
Accesso a database tramite OLE DB. |
|
Accesso a un database Oracle. |
|
Accesso a contatori delle prestazioni. |
|
Accesso alle stampanti. |
|
Individuazione di informazioni su un tipo in fase di esecuzione. |
|
Lettura, scrittura, creazione o eliminazione di chiavi e valori di registro. |
|
Esecuzione, asserzione di autorizzazioni, chiamata nel codice non gestito, omissione della verifica e altri diritti. |
|
Accesso a servizi in esecuzione o inattivi. |
|
Creazione o accettazione di connessioni su un indirizzo di trasporto. |
|
Accesso a database SQL. |
|
Accesso alle funzionalità dell'interfaccia utente. |
|
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 |
---|---|
Accesso a un database. |
|
Accesso a uno spazio di archiviazione isolata. |
|
Accesso a risorse di sistema. |