Condividi tramite


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. Questa 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)]
[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)]
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}")>]
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
[<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
Public NotInheritable Class FileIOPermissionAttribute
Inherits CodeAccessSecurityAttribute
Ereditarietà
Attributi

Esempio

Nell'esempio di codice seguente viene illustrato come richiedere FileIOPermission usando la classe FileIOPermissionAttribute, che indica l'unica 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 FileIOPermissionsenza restrizioni. In genere si richiedono librerie gestite (DLL) per 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

Cautela

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.

I file e le directory vengono specificati utilizzando 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 si accede per la prima volta al file riduce al minimo l'impatto del controllo di sicurezza sulle 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 dalla SecurityAction utilizzata.

Le informazioni di sicurezza dichiarate da un attributo di sicurezza vengono archiviate nei metadati della destinazione dell'attributo e sono accessibili dal 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.

Cautela

Unrestricted FileIOPermission 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 l'accesso a un file, è necessario Deny tutti i possibili percorsi del file. Ad esempio, se \\server\share è mappato all'unità di rete X, per Deny l'accesso 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 il SecurityActionspecificato.

Proprietà

Action
Obsoleti.

Ottiene o imposta un'azione di sicurezza.

(Ereditato da SecurityAttribute)
All
Obsoleti.
Obsoleti.

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

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.

Append
Obsoleti.

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

ChangeAccessControl
Obsoleti.

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

PathDiscovery
Obsoleti.

Ottiene o imposta il file o la directory a cui concedere l'individuazione del percorso.

Read
Obsoleti.

Ottiene o imposta l'accesso in lettura per il file o la directory specificata dal valore stringa.

TypeId
Obsoleti.

Se implementato in una classe derivata, ottiene un identificatore univoco per questo Attribute.

(Ereditato da Attribute)
Unrestricted
Obsoleti.

Ottiene o imposta un valore che indica se l'autorizzazione completa (senza restrizioni) per la risorsa protetta dall'attributo è dichiarata.

(Ereditato da SecurityAttribute)
ViewAccessControl
Obsoleti.

Ottiene o imposta il file o la directory in cui è possibile visualizzare le informazioni sul controllo di accesso.

ViewAndModify
Obsoleti.

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

Write
Obsoleti.

Ottiene o imposta l'accesso in scrittura per il file o la directory specificata dal valore stringa.

Metodi

CreatePermission()
Obsoleti.

Crea e restituisce un nuovo 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 questa istanza.

(Ereditato da Attribute)
GetType()
Obsoleti.

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
IsDefaultAttribute()
Obsoleti.

Quando sottoposto a 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 è uguale a un oggetto specificato.

(Ereditato da Attribute)
MemberwiseClone()
Obsoleti.

Crea una copia superficiale del Objectcorrente.

(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 identificatori dispatch.

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

Recupera le informazioni sul tipo per un oggetto, che può essere utilizzato per ottenere le informazioni sul tipo per un'interfaccia.

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

Recupera il numero di 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 alle proprietà e ai metodi esposti da un oggetto .

(Ereditato da Attribute)

Si applica a

Vedi anche