FileIOPermissionAttribute Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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) |