FileIOPermission Classe

Definizione

Attenzione

Code Access Security is not supported or honored by the runtime.

Controlla la possibilità di accedere a file e cartelle. La classe non può essere ereditata.

public ref class FileIOPermission sealed : System::Security::CodeAccessPermission, System::Security::Permissions::IUnrestrictedPermission
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
Public NotInheritable Class FileIOPermission
Inherits CodeAccessPermission
Implements IUnrestrictedPermission
Ereditarietà
FileIOPermission
Attributi
Implementazioni

Commenti

Attenzione

La sicurezza dall'accesso al codice è stata deprecata in tutte le versioni di .NET Framework e .NET. Le versioni recenti di .NET non rispettano le annotazioni CAS e generano errori se vengono usate API correlate a CAS. Gli sviluppatori devono cercare mezzi alternativi per eseguire attività di sicurezza.

Questa autorizzazione distingue tra i quattro tipi di accesso di I/O di file seguenti forniti da FileIOPermissionAccess:

  • Read: accesso in lettura al contenuto del file o accesso alle informazioni sul file, ad esempio la durata o l'ora dell'ultima modifica.

  • Write: accesso in scrittura al contenuto del file o accesso per modificare le informazioni sul file, ad esempio il nome. Consente anche l'eliminazione e la sovrascrittura.

  • Append: possibilità di scrivere solo alla fine di un file. Non è possibile leggere.

  • PathDiscovery: accesso alle informazioni nel percorso stesso. Ciò consente di proteggere le informazioni riservate nel percorso, ad esempio i nomi utente, nonché le informazioni sulla struttura di directory che viene visualizzata nel percorso. Questo valore non concede l'accesso a file o cartelle rappresentati dal percorso.

Note

Concedere Write l'accesso a un assembly è simile a concedergli l'attendibilità totale. Se un'applicazione non deve scrivere nel file system, non deve avere Write accesso.

Tutte queste autorizzazioni sono indipendenti, vale a dire che i diritti a uno non implicano diritti a un altro. Ad esempio, Write l'autorizzazione non implica l'autorizzazione per Read o Append. Se si desidera disporre di più autorizzazioni, è possibile combinare usando un OR bit per bit, come illustrato nell'esempio di codice seguente. L'autorizzazione file è definita in termini di percorsi assoluti canonici; le chiamate devono essere sempre effettuate con percorsi di file canonici.

FileIOPermission descrive le operazioni protette su file e cartelle. La File classe consente di fornire accesso sicuro a file e cartelle. Il controllo di accesso alla sicurezza viene eseguito quando viene creato l'handle per il file. Eseguendo il controllo in fase di creazione, l'impatto sulle prestazioni del controllo di sicurezza è ridotto al minimo. L'apertura di un file avviene una sola volta, mentre la lettura e la scrittura possono verificarsi più volte. Una volta aperto il file, non vengono eseguiti ulteriori controlli. Se l'oggetto viene passato a un chiamante non attendibile, può essere usato in modo improprio. Ad esempio, gli handle di file non devono essere archiviati in statici globali pubblici in cui il codice con meno autorizzazioni può accedervi.

FileIOPermissionAccess specifica le azioni che possono essere eseguite nel file o nella cartella. Inoltre, queste azioni possono essere combinate usando un OR bit per bit per formare istanze complesse.

L'accesso a una cartella implica l'accesso a tutti i file contenuti, nonché l'accesso a tutti i file e le cartelle nelle relative sottocartelle. Ad esempio, Read l'accesso a C:\folder1\ implica Read l'accesso a C:\folder1\file1.txt, C:\folder1\folder2\, C:\folder1\folder2\file2.txte così via.

Note

Nelle versioni di .NET Framework precedenti a .NET Framework 4, è possibile usare il metodo CodeAccessPermission.Deny per impedire l'accesso accidentale alle risorse di sistema tramite codice attendibile. Deny è ora obsoleto e l'accesso alle risorse viene ora determinato esclusivamente dal set di autorizzazioni concesso per un assembly. Per limitare l'accesso ai file, è necessario eseguire codice parzialmente attendibile in una sandbox e assegnargli le autorizzazioni solo alle risorse a cui il codice è autorizzato ad accedere. Per informazioni sull'esecuzione di un'applicazione in una sandbox, vedere Procedura: Eseguire codice parzialmente attendibile in una sandbox.

Costruttori

Nome Descrizione
FileIOPermission(FileIOPermissionAccess, AccessControlActions, String)
Obsoleti.

Inizializza una nuova istanza della FileIOPermission classe con l'accesso specificato al file o alla directory designata e ai diritti di accesso specificati per le informazioni di controllo dei file.

FileIOPermission(FileIOPermissionAccess, AccessControlActions, String[])
Obsoleti.

Inizializza una nuova istanza della FileIOPermission classe con l'accesso specificato ai file e alle directory designati e ai diritti di accesso specificati per le informazioni di controllo dei file.

FileIOPermission(FileIOPermissionAccess, String)
Obsoleti.

Inizializza una nuova istanza della FileIOPermission classe con l'accesso specificato al file o alla directory designata.

FileIOPermission(FileIOPermissionAccess, String[])
Obsoleti.

Inizializza una nuova istanza della FileIOPermission classe con l'accesso specificato ai file e alle directory designati.

FileIOPermission(PermissionState)
Obsoleti.

Inizializza una nuova istanza della FileIOPermission classe con autorizzazioni completamente limitate o senza restrizioni, come specificato.

Proprietà

Nome Descrizione
AllFiles
Obsoleti.

Ottiene o imposta l'accesso consentito a tutti i file.

AllLocalFiles
Obsoleti.

Ottiene o imposta l'accesso consentito a tutti i file locali.

Metodi

Nome Descrizione
AddPathList(FileIOPermissionAccess, String)
Obsoleti.

Aggiunge l'accesso per il file o la directory specificata allo stato esistente dell'autorizzazione.

AddPathList(FileIOPermissionAccess, String[])
Obsoleti.

Aggiunge l'accesso per i file e le directory specificati allo stato esistente dell'autorizzazione.

Assert()
Obsoleti.

Dichiara che il codice chiamante può accedere alla risorsa protetta da una richiesta di autorizzazione tramite il codice che chiama questo metodo, anche se ai chiamanti più in alto nello stack non è stata concessa l'autorizzazione per accedere alla risorsa. L'uso Assert() di può creare problemi di sicurezza.

(Ereditato da CodeAccessPermission)
Copy()
Obsoleti.

Crea e restituisce una copia identica dell'autorizzazione corrente.

Demand()
Obsoleti.

Forza un oggetto SecurityException in fase di esecuzione se a tutti i chiamanti più in alto nello stack di chiamate non è stata concessa l'autorizzazione specificata dall'istanza corrente.

(Ereditato da CodeAccessPermission)
Deny()
Obsoleti.
Obsoleti.

Impedisce ai chiamanti più in alto nello stack di chiamate di usare il codice che chiama questo metodo per accedere alla risorsa specificata dall'istanza corrente.

(Ereditato da CodeAccessPermission)
Equals(Object)
Obsoleti.

Determina se l'oggetto specificato FileIOPermission è uguale all'oggetto corrente FileIOPermission.

FromXml(SecurityElement)
Obsoleti.

Ricostruisce un'autorizzazione con uno stato specificato da una codifica XML.

GetHashCode()
Obsoleti.

Ottiene un codice hash per l'oggetto adatto per l'uso FileIOPermission negli algoritmi di hash e nelle strutture di dati, ad esempio una tabella hash.

GetPathList(FileIOPermissionAccess)
Obsoleti.

Ottiene tutti i file e le directory con l'oggetto specificato FileIOPermissionAccess.

GetType()
Obsoleti.

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
Intersect(IPermission)
Obsoleti.

Crea e restituisce un'autorizzazione che rappresenta l'intersezione dell'autorizzazione corrente e l'autorizzazione specificata.

IsSubsetOf(IPermission)
Obsoleti.

Determina se l'autorizzazione corrente è un subset dell'autorizzazione specificata.

IsUnrestricted()
Obsoleti.

Restituisce un valore che indica se l'autorizzazione corrente è senza restrizioni.

MemberwiseClone()
Obsoleti.

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
PermitOnly()
Obsoleti.

Impedisce ai chiamanti più in alto nello stack di chiamate di usare il codice che chiama questo metodo per accedere a tutte le risorse, ad eccezione della risorsa specificata dall'istanza corrente.

(Ereditato da CodeAccessPermission)
SetPathList(FileIOPermissionAccess, String)
Obsoleti.

Imposta l'accesso specificato al file o alla directory specificata, sostituendo lo stato esistente dell'autorizzazione.

SetPathList(FileIOPermissionAccess, String[])
Obsoleti.

Imposta l'accesso specificato ai file e alle directory specificati, sostituendo lo stato corrente per l'accesso specificato con il nuovo set di percorsi.

ToString()
Obsoleti.

Crea e restituisce una rappresentazione di stringa dell'oggetto autorizzazione corrente.

(Ereditato da CodeAccessPermission)
ToXml()
Obsoleti.

Crea una codifica XML dell'autorizzazione e del relativo stato corrente.

Union(IPermission)
Obsoleti.

Crea un'autorizzazione che rappresenta l'unione dell'autorizzazione corrente e l'autorizzazione specificata.

Si applica a

Vedi anche