FileIOPermissionAttribute Classe

Definizione

Attenzione

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

Consente di applicare azioni di sicurezza per FileIOPermission al codice usando la sicurezza dichiarativa. La classe non può essere ereditata.

public ref class FileIOPermissionAttribute sealed : System::Security::Permissions::CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
public sealed class FileIOPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[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 FileIOPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[System.Serializable]
public sealed class FileIOPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class FileIOPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
type FileIOPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type FileIOPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Serializable>]
type FileIOPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileIOPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
Public NotInheritable Class FileIOPermissionAttribute
Inherits CodeAccessSecurityAttribute
Ereditarietà
Attributi

Esempio

Nell'esempio di codice seguente viene illustrato come richiedere FileIOPermission usando la classe, che indica l'unica FileIOPermissionAttribute autorizzazione che deve essere concessa al codice.

[FileIOPermissionAttribute(SecurityAction::PermitOnly,ViewAndModify="C:\\example\\sample.txt")]
[FileIOPermissionAttribute(SecurityAction.PermitOnly, ViewAndModify = "C:\\example\\sample.txt")]
<FileIOPermissionAttribute(SecurityAction.PermitOnly, _
ViewAndModify:="C:\example\sample.txt")> Public Class SampleClass

Nell'esempio seguente viene illustrato come richiedere che il codice chiamante abbia restrizioni FileIOPermission. In genere, le richieste nelle librerie gestite (DLL) consentono di proteggere metodi o classi da codice potenzialmente dannoso.

[FileIOPermissionAttribute(SecurityAction::Demand,Unrestricted=true)]
[FileIOPermissionAttribute(SecurityAction.Demand, Unrestricted=true)]
<FileIOPermissionAttribute(SecurityAction.Demand, _
 Unrestricted := True)> Public Class SampleClass

Commenti

Attenzione

La sicurezza di 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.

I file e le directory vengono specificati usando percorsi assoluti. Quando si accede ai file, viene eseguito un controllo di sicurezza quando il file viene creato o aperto. Il controllo di sicurezza non viene eseguito di nuovo a meno che il file non venga chiuso e riaperto. Il controllo delle autorizzazioni quando il file viene prima accessibile riduce al minimo l'impatto delle prestazioni dell'applicazione perché l'apertura di un file avviene una sola volta, mentre la lettura e la scrittura possono verificarsi più volte.

L'ambito della dichiarazione consentita dipende dall'oggetto SecurityAction utilizzato.

Le informazioni di sicurezza dichiarate da un attributo di sicurezza vengono archiviate nei metadati della destinazione dell'attributo e accedono al sistema in fase di esecuzione. Gli attributi di sicurezza vengono usati solo per la sicurezza dichiarativa. Per la sicurezza imperativa, usare la classe di autorizzazione corrispondente.

Attenzione

UnrestrictedFileIOPermission concede l'autorizzazione per tutti i percorsi all'interno di un file system, inclusi più nomi di percorso che possono essere usati per accedere a un singolo file specificato. Per Deny accedere a un file, è necessario Deny tutti i percorsi possibili per il file. Ad esempio, se \\server\share viene mappato all'unità di rete X, per Deny accedere a \\server\share\file, è necessario Deny \\server\share\file, X:\file e qualsiasi altro percorso che è possibile usare per accedere al file.

Costruttori

FileIOPermissionAttribute(SecurityAction)
Obsoleti.

Inizializza una nuova istanza della classe FileIOPermissionAttribute con l'oggetto SecurityAction specificato.

Proprietà

Action
Obsoleti.

Ottiene o imposta un'azione di sicurezza.

(Ereditato da SecurityAttribute)
All
Obsoleti.
Obsoleti.
Obsoleti.

Ottiene o imposta l'accesso completo per il file o la directory specificati dal valore di stringa.

AllFiles
Obsoleti.

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

AllLocalFiles
Obsoleti.

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

Append
Obsoleti.

Ottiene o imposta l'accesso Append per il file o la directory specificati dal valore di stringa.

ChangeAccessControl
Obsoleti.

Ottiene o imposta il file o la directory in cui è possibile modificare le informazioni sul controllo dell'accesso.

PathDiscovery
Obsoleti.

Ottiene o imposta il file o la directory a cui concedere l’accesso PathDiscovery.

Read
Obsoleti.

Ottiene o imposta l’accesso Read per il file o la directory specificata dal valore di stringa.

TypeId
Obsoleti.

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.

(Ereditato da Attribute)
Unrestricted
Obsoleti.

Ottiene o imposta un valore che indica se esiste una dichiarazione di autorizzazione completa, ovvero senza restrizioni, alla risorsa protetta dall’attributo.

(Ereditato da SecurityAttribute)
ViewAccessControl
Obsoleti.

Ottiene o imposta il file o la directory in cui è possibile esaminare le informazioni sul controllo dell'accesso.

ViewAndModify
Obsoleti.

Ottiene o imposta il file o la directory in cui è possibile esaminare e modificare i dati dei file.

Write
Obsoleti.

Ottiene o imposta l’accesso Write per il file o la directory specificata dal valore di stringa.

Metodi

CreatePermission()
Obsoleti.

Crea e restituisce un nuovo oggetto FileIOPermission.

Equals(Object)
Obsoleti.

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.

(Ereditato da Attribute)
GetHashCode()
Obsoleti.

Restituisce il codice hash per l'istanza.

(Ereditato da Attribute)
GetType()
Obsoleti.

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IsDefaultAttribute()
Obsoleti.

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.

(Ereditato da Attribute)
Match(Object)
Obsoleti.

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.

(Ereditato da Attribute)
MemberwiseClone()
Obsoleti.

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()
Obsoleti.

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)
Obsoleti.

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.

(Ereditato da Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)
Obsoleti.

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.

(Ereditato da Attribute)
_Attribute.GetTypeInfoCount(UInt32)
Obsoleti.

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).

(Ereditato da Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)
Obsoleti.

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.

(Ereditato da Attribute)

Si applica a

Vedi anche