Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Classe FileIOPermission

 

Data di pubblicazione: ottobre 2016

Controlla se è possibile accedere ai file e alle cartelle. Questa classe non può essere ereditata.

Spazio dei nomi:   System.Security.Permissions
Assembly:  mscorlib (in mscorlib.dll)

System.Object
  System.Security.CodeAccessPermission
    System.Security.Permissions.FileIOPermission

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class FileIOPermission : CodeAccessPermission, 
	IUnrestrictedPermission

NomeDescrizione
System_CAPS_pubmethodFileIOPermission(FileIOPermissionAccess, AccessControlActions, String)

Inizializza una nuova istanza della classe FileIOPermission con l'accesso specificato al file o alla directory designata e i diritti di accesso specificati alle informazioni di controllo del file.

System_CAPS_pubmethodFileIOPermission(FileIOPermissionAccess, AccessControlActions, String[])

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

System_CAPS_pubmethodFileIOPermission(FileIOPermissionAccess, String)

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

System_CAPS_pubmethodFileIOPermission(FileIOPermissionAccess, String[])

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

System_CAPS_pubmethodFileIOPermission(PermissionState)

Inizializza una nuova istanza della classe FileIOPermission con autorizzazione con restrizioni o senza restrizioni, come specificato.

NomeDescrizione
System_CAPS_pubpropertyAllFiles

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

System_CAPS_pubpropertyAllLocalFiles

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

NomeDescrizione
System_CAPS_pubmethodAddPathList(FileIOPermissionAccess, String)

Aggiunge allo stato esistente dell'autorizzazione l'accesso al file o alla directory specificata.

System_CAPS_pubmethodAddPathList(FileIOPermissionAccess, String[])

Aggiunge allo stato esistente dell'autorizzazione l'accesso ai file o alle directory specificate.

System_CAPS_pubmethodAssert()

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

System_CAPS_pubmethodCopy()

Crea e restituisce una copia identica dell'autorizzazione corrente.(Esegue l'override di CodeAccessPermission.Copy().)

System_CAPS_pubmethodDemand()

Forza un oggetto SecurityException in fase di esecuzione se tutti i chiamanti in posizioni superiori nello stack di chiamate non hanno l'autorizzazione specificata dall'istanza corrente.(Ereditato da CodeAccessPermission.)

System_CAPS_pubmethodDeny()

Obsoleto. Impedisce ai chiamanti in posizione più elevata nello stack di chiamate di usare il codice che chiama questo metodo per accedere alla risorsa specificata dall'istanza corrente.(Ereditato da CodeAccessPermission.)

System_CAPS_pubmethodEquals(Object)

Determina se l'oggetto FileIOPermission specificato è uguale all'oggetto FileIOPermission corrente.(Esegue l'override di CodeAccessPermission.Equals(Object).)

System_CAPS_pubmethodFromXml(SecurityElement)

Ricostruisce un'autorizzazione con uno stato specificato da una codifica XML.(Esegue l'override di CodeAccessPermission.FromXml(SecurityElement).)

System_CAPS_pubmethodGetHashCode()

Ottiene un codice hash per l'oggetto FileIOPermission adatto per l'uso in algoritmi di hash e in strutture di dati, come una tabella hash.(Esegue l'override di CodeAccessPermission.GetHashCode().)

System_CAPS_pubmethodGetPathList(FileIOPermissionAccess)

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

System_CAPS_pubmethodGetType()

Ottiene l'oggetto Type dell'istanza corrente.(Ereditato da Object.)

System_CAPS_pubmethodIntersect(IPermission)

Crea e restituisce un'autorizzazione che rappresenta l'intersezione tra l'autorizzazione corrente e quella specificata.(Esegue l'override di CodeAccessPermission.Intersect(IPermission).)

System_CAPS_pubmethodIsSubsetOf(IPermission)

Determina se l'autorizzazione corrente è un subset di quella specificata.(Esegue l'override di CodeAccessPermission.IsSubsetOf(IPermission).)

System_CAPS_pubmethodIsUnrestricted()

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

System_CAPS_pubmethodPermitOnly()

Impedisce ai chiamanti in posizione più elevata nello stack di chiamate di usare il codice che chiama questo metodo per accedere a tutte le risorse eccetto quella specificata dall'istanza corrente.(Ereditato da CodeAccessPermission.)

System_CAPS_pubmethodSetPathList(FileIOPermissionAccess, String)

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

System_CAPS_pubmethodSetPathList(FileIOPermissionAccess, String[])

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

System_CAPS_pubmethodToString()

Crea e restituisce una rappresentazione di stringa dell'oggetto autorizzazione corrente.(Ereditato da CodeAccessPermission.)

System_CAPS_pubmethodToXml()

Crea una codifica XML dell'autorizzazione e del relativo stato corrente.(Esegue l'override di CodeAccessPermission.ToXml().)

System_CAPS_pubmethodUnion(IPermission)

Crea un'autorizzazione che rappresenta l'unione dell'autorizzazione corrente e di quella specificata.(Esegue l'override di CodeAccessPermission.Union(IPermission).)

Questa autorizzazione viene fatta distinzione tra i seguenti quattro tipi di accesso dei / o di file forniti dal FileIOPermissionAccess:

  • Read: Accesso in lettura al contenuto del file o accedere alle informazioni relative al file, ad esempio la lunghezza o l'ora dell'ultima modifica.

  • Write: Accesso in scrittura per il contenuto del file o la modifica delle informazioni sul file, ad esempio il nome. Consente inoltre di eliminazione e la sovrascrittura.

  • Append: Possibilità di scrivere alla fine di un solo file. Nessuna possibilità di leggere.

  • PathDiscovery: L'accesso alle informazioni presenti nel percorso stesso. Ciò consente di proteggere informazioni riservate nel percorso, ad esempio nomi utente, nonché informazioni sulla struttura di directory che viene visualizzata nel percorso. Questo valore consente di accedere al file o cartelle rappresentate dal percorso.

System_CAPS_noteNota

Fornendo Write accedere a un assembly è simile alla concessione dell'attendibilità totale. Se un'applicazione non deve scrivere nel file System, non dovrebbe 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 autorizzazione non implica l'autorizzazione Read o Append. Se si desidera più autorizzazioni, possono essere combinati utilizzando un OR bit per bit, come illustrato nell'esempio di codice che segue. Autorizzazione del file viene definito in termini di percorsi assoluti canonici; le chiamate devono essere sempre eseguite con i percorsi file canonici.

FileIOPermission Descrive le operazioni protette su file e cartelle. La File classe consente di fornire l'accesso protetto a file e cartelle. Il controllo di accesso di sicurezza viene eseguito quando viene creato l'handle del file. Se si esegue il controllo al momento della creazione, viene ridotto al minimo l'impatto sulle prestazioni del controllo di sicurezza. Apertura di un file si verifica una volta durante la lettura e scrittura può verificarsi più volte. Una volta aperto il file, non viene più eseguito. Se l'oggetto viene passato a un chiamante non attendibile, è possibile abusare. Ad esempio, gli handle di file non devono essere archiviati in pubblici dati statici globali in codice con minori autorizzazioni possa accedervi.

FileIOPermissionAccess Specifica le azioni che possono essere eseguite sul file o cartella. Inoltre, queste azioni possono essere combinate utilizzando un operatore OR per formare istanze complesse.

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

System_CAPS_noteNota

Nelle versioni di .NET Framework prima di .NET Framework 4, è possibile utilizzare il CodeAccessPermission.Deny per impedire l'accesso accidentale alle risorse di sistema da codice attendibile. Deny è ora obsoleta, e l'accesso alle risorse è determinato esclusivamente da dell'autorizzazione concessa per un assembly. Per limitare l'accesso ai file, è necessario eseguire codice parzialmente attendibile in un ambiente sandbox e assegnarle le autorizzazioni solo a risorse che il codice è autorizzato ad accedere. Per informazioni sull'esecuzione di un'applicazione in un ambiente sandbox, vedere How to: Run Partially Trusted Code in a Sandbox.

Gli esempi seguenti illustrano il codice che utilizza FileIOPermission. Dopo le due righe di codice, l'oggetto f rappresenta l'autorizzazione per leggere tutti i file sul client dischi locali del computer. L'esempio di codice richiede quindi l'autorizzazione per determinare se l'applicazione dispone dell'autorizzazione per leggere i file.

FileIOPermission f = new FileIOPermission(PermissionState.None);
f.AllLocalFiles = FileIOPermissionAccess.Read;
try
{
    f.Demand();
}
catch (SecurityException s)
{
    Console.WriteLine(s.Message);
}

Dopo le due righe di codice, l'oggetto f2 rappresenta le autorizzazioni per leggere C:\test_r e di lettura e scrittura su c:\example\out.txt.. Read e Write rappresentano le autorizzazioni per file o la cartella come descritti in precedenza. Dopo aver creato l'autorizzazione, il codice richiede l'autorizzazione per determinare se l'applicazione ha il diritto di lettura e scrittura al file.

FileIOPermission f2 = new FileIOPermission(FileIOPermissionAccess.Read, "C:\\test_r");
f2.AddPathList(FileIOPermissionAccess.Write | FileIOPermissionAccess.Read, "C:\\example\\out.txt");
try
{
    f2.Demand();
}
catch (SecurityException s)
{
    Console.WriteLine(s.Message);
}

.NET Framework
Disponibile da 1.1

I membri statici pubblici ( Condiviso in Visual Basic) di questo tipo è thread safe. Non tutti i membri di istanza sono garantiti come thread safe.

Torna all'inizio
Mostra: