FileIOPermissionAttribute Classe

Definizione

Consente di applicare azioni di sicurezza per FileIOPermission al codice usando la sicurezza dichiarativa.Allows security actions for FileIOPermission to be applied to code using declarative security. Questa classe non può essere ereditata.This class cannot be inherited.

public ref class FileIOPermissionAttribute sealed : System::Security::Permissions::CodeAccessSecurityAttribute
[System.Runtime.InteropServices.ComVisible(true)]
[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
type FileIOPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
Public NotInheritable Class FileIOPermissionAttribute
Inherits CodeAccessSecurityAttribute
Ereditarietà
Attributi

Esempi

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.The following code example demonstrates how to request FileIOPermission by using the FileIOPermissionAttribute class, indicating the only permission that is to be granted to the code.

[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 senza restrizioni FileIOPermission.The following example shows how to demand that the calling code has unrestricted FileIOPermission. In genere si effettuano richieste nelle librerie gestite (dll) per proteggere i metodi o le classi da codice potenzialmente dannoso.You typically make demands in managed libraries (DLLs) to help protect methods or classes from potentially harmful code.

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

Commenti

Importante

Il codice parzialmente attendibile non è più supportato.Partially trusted code is no longer supported. Questo attributo non ha alcun effetto in .NET Core.This attribute has no effect in .NET Core.

I file e le directory vengono specificati utilizzando percorsi assoluti.Files and directories are specified using absolute paths. Quando si accede ai file, viene eseguito un controllo di sicurezza quando viene creato o aperto il file.When accessing files, a security check is performed when the file is created or opened. Il controllo di sicurezza non viene eseguito di nuovo, a meno che il file non venga chiuso e riaperto.The security check is not done again unless the file is closed and reopened. Il controllo delle autorizzazioni quando il file viene aperto per la prima volta riduce al minimo l'effetto del controllo di sicurezza sulle prestazioni dell'applicazione perché l'apertura di un file avviene solo una volta, mentre la lettura e la scrittura possono essere eseguite più volte.Checking permissions when the file is first accessed minimizes the impact of the security check on application performance because opening a file happens only once, while reading and writing can happen multiple times.

L'ambito della dichiarazione consentita dipende dal SecurityAction utilizzato.The scope of the declaration that is allowed depends on the SecurityAction that is used.

Le informazioni di sicurezza dichiarate da un attributo di sicurezza vengono archiviate nei metadati della destinazione dell'attributo ed è possibile accedervi dal sistema in fase di esecuzione.The security information declared by a security attribute is stored in the metadata of the attribute target and is accessed by the system at run time. Gli attributi di sicurezza vengono utilizzati solo per la sicurezza dichiarativa.Security attributes are used only for declarative security. Per la sicurezza imperativa, usare la classe di autorizzazioni corrispondente.For imperative security, use the corresponding permission class.

Attenzione

Unrestricted FileIOPermission concede l'autorizzazione per tutti i percorsi all'interno di un file system, inclusi più nomi di percorso che possono essere utilizzati per accedere a un singolo file specifico.Unrestricted FileIOPermission grants permission for all paths within a file system, including multiple pathnames that can be used to access a single given file. Per Deny l'accesso a un file, è necessario Deny tutti i percorsi possibili del file.To Deny access to a file, you must Deny all possible paths to the file. Se, ad esempio, \ \ server\share. è mappato all'unità di rete X, per Deny accesso a \ \ server\share\file, è necessario Deny \ \ server\share\file, X:\File e qualsiasi altro percorso che è possibile usare per accedere al file.For example, if \\server\share is mapped to the network drive X, to Deny access to \\server\share\file, you must Deny \\server\share\file, X:\file and any other path that you can use to access the file.

Costruttori

FileIOPermissionAttribute(SecurityAction)

Inizializza una nuova istanza della classe FileIOPermissionAttribute con l'oggetto SecurityAction specificato.Initializes a new instance of the FileIOPermissionAttribute class with the specified SecurityAction.

Proprietà

Action

Ottiene o imposta un'azione di sicurezza.Gets or sets a security action.

(Ereditato da SecurityAttribute)
All

Ottiene o imposta l'accesso completo per il file o la directory specificati dal valore di stringa.Gets or sets full access for the file or directory that is specified by the string value.

AllFiles

Ottiene o imposta l'accesso consentito a tutti i file.Gets or sets the permitted access to all files.

AllLocalFiles

Ottiene o imposta l'accesso autorizzato a tutti i file locali.Gets or sets the permitted access to all local files.

Append

Ottiene o imposta l'accesso Append per il file o la directory specificati dal valore di stringa.Gets or sets append access for the file or directory that is specified by the string value.

ChangeAccessControl

Ottiene o imposta il file o la directory in cui è possibile modificare le informazioni sul controllo dell'accesso.Gets or sets the file or directory in which access control information can be changed.

PathDiscovery

Ottiene o imposta il file o la directory a cui concedere l’accesso PathDiscovery.Gets or sets the file or directory to which to grant path discovery.

Read

Ottiene o imposta l’accesso Read per il file o la directory specificata dal valore di stringa.Gets or sets read access for the file or directory specified by the string value.

TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Ereditato da Attribute)
Unrestricted

Ottiene o imposta un valore che indica se esiste una dichiarazione di autorizzazione completa, ovvero senza restrizioni, alla risorsa protetta dall’attributo.Gets or sets a value indicating whether full (unrestricted) permission to the resource protected by the attribute is declared.

(Ereditato da SecurityAttribute)
ViewAccessControl

Ottiene o imposta il file o la directory in cui è possibile esaminare le informazioni sul controllo dell'accesso.Gets or sets the file or directory in which access control information can be viewed.

ViewAndModify

Ottiene o imposta il file o la directory in cui è possibile esaminare e modificare i dati dei file.Gets or sets the file or directory in which file data can be viewed and modified.

Write

Ottiene o imposta l’accesso Write per il file o la directory specificata dal valore di stringa.Gets or sets write access for the file or directory specified by the string value.

Metodi

CreatePermission()

Crea e restituisce un nuovo oggetto FileIOPermission.Creates and returns a new FileIOPermission.

Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.Returns a value that indicates whether this instance is equal to a specified object.

(Ereditato da Attribute)
GetHashCode()

Restituisce il codice hash per l'istanza.Returns the hash code for this instance.

(Ereditato da Attribute)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
IsDefaultAttribute()

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Ereditato da Attribute)
Match(Object)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Ereditato da Attribute)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

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

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.Maps a set of names to a corresponding set of dispatch identifiers.

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

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Ereditato da Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

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

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.Provides access to properties and methods exposed by an object.

(Ereditato da Attribute)

Si applica a

Vedi anche