Freigeben über


FileIOPermissionAttribute Klasse

Definition

Achtung

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

Ermöglicht die Anwendung von Sicherheitsaktionen für FileIOPermission auf Code mithilfe deklarativer Sicherheit. Diese Klasse kann nicht geerbt werden.

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
Vererbung
Attribute

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie sie FileIOPermission mithilfe der FileIOPermissionAttribute-Klasse anfordern und die einzige Berechtigung angibt, die dem Code erteilt werden soll.

[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

Das folgende Beispiel zeigt, wie Sie verlangen, dass der aufrufende Code uneingeschränkte FileIOPermissionhat. Normalerweise stellen Sie Anforderungen in verwalteten Bibliotheken (DLLs) vor, um Methoden oder Klassen vor potenziell schädlichem Code zu schützen.

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

Hinweise

Vorsicht

Code Access Security (CAS) ist in allen Versionen von .NET Framework und .NET veraltet. Aktuelle Versionen von .NET berücksichtigen keine CAS-Anmerkungen und erzeugen Fehler, wenn CAS-bezogene APIs verwendet werden. Entwickler sollten alternative Mittel zum Ausführen von Sicherheitsaufgaben suchen.

Dateien und Verzeichnisse werden mit absoluten Pfaden angegeben. Beim Zugriff auf Dateien wird beim Erstellen oder Öffnen der Datei eine Sicherheitsüberprüfung durchgeführt. Die Sicherheitsüberprüfung wird nicht erneut durchgeführt, es sei denn, die Datei wird geschlossen und erneut geöffnet. Das Überprüfen von Berechtigungen beim ersten Zugriff auf die Datei minimiert die Auswirkungen der Sicherheitsüberprüfung auf die Anwendungsleistung, da das Öffnen einer Datei nur einmal erfolgt, während das Lesen und Schreiben mehrmals erfolgen kann.

Der zulässige Gültigkeitsbereich der Deklaration hängt vom verwendeten SecurityAction ab.

Die von einem Sicherheitsattribute deklarierten Sicherheitsinformationen werden in den Metadaten des Attributziels gespeichert und zur Laufzeit vom System aufgerufen. Sicherheitsattribute werden nur für deklarative Sicherheit verwendet. Verwenden Sie für imperative Sicherheit die entsprechende Berechtigungsklasse.

Vorsicht

Unrestricted FileIOPermission erteilt Berechtigungen für alle Pfade innerhalb eines Dateisystems, einschließlich mehrerer Pfadnamen, die für den Zugriff auf eine einzelne datei verwendet werden können. Um den Zugriff auf eine Datei zu Deny, müssen Sie alle möglichen Pfade zur Datei Deny. Wenn beispielsweise \\server\share dem Netzwerklaufwerk X zugeordnet ist, müssen Sie Deny Zugriff auf die Datei \\server\freigabe\datei Deny \\server\share\file, X:\file und alle anderen Pfade, die Sie für den Zugriff auf die Datei verwenden können.

Konstruktoren

FileIOPermissionAttribute(SecurityAction)
Veraltet.

Initialisiert eine neue Instanz der FileIOPermissionAttribute Klasse mit dem angegebenen SecurityAction.

Eigenschaften

Action
Veraltet.

Dient zum Abrufen oder Festlegen einer Sicherheitsaktion.

(Geerbt von SecurityAttribute)
All
Veraltet.
Veraltet.

Ruft den vollständigen Zugriff für die Datei oder das Verzeichnis ab, die durch den Zeichenfolgenwert angegeben wird, oder legt diesen fest.

AllFiles
Veraltet.

Ruft den zulässigen Zugriff auf alle Dateien ab oder legt diesen fest.

AllLocalFiles
Veraltet.

Ruft den zulässigen Zugriff auf alle lokalen Dateien ab oder legt diesen fest.

Append
Veraltet.

Dient zum Abrufen oder Festlegen des Anfügezugriffs für die Datei oder das Verzeichnis, die durch den Zeichenfolgenwert angegeben wird.

ChangeAccessControl
Veraltet.

Ruft die Datei oder das Verzeichnis ab, in der Zugriffssteuerungsinformationen geändert werden können, oder legt diese fest.

PathDiscovery
Veraltet.

Dient zum Abrufen oder Festlegen der Datei oder des Verzeichnisses, für die die Pfadermittlung gewährt werden soll.

Read
Veraltet.

Dient zum Abrufen oder Festlegen des Lesezugriffs für die Datei oder das Verzeichnis, die durch den Zeichenfolgenwert angegeben wird.

TypeId
Veraltet.

Wenn sie in einer abgeleiteten Klasse implementiert wird, wird ein eindeutiger Bezeichner für diese Attribute.

(Geerbt von Attribute)
Unrestricted
Veraltet.

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die vollständige (uneingeschränkte) Berechtigung für die ressource, die durch das Attribut geschützt ist, deklariert wird.

(Geerbt von SecurityAttribute)
ViewAccessControl
Veraltet.

Ruft die Datei oder das Verzeichnis ab, in dem Zugriffssteuerungsinformationen angezeigt werden können, oder legt diese fest.

ViewAndModify
Veraltet.

Dient zum Abrufen oder Festlegen der Datei oder des Verzeichnisses, in dem Dateidaten angezeigt und geändert werden können.

Write
Veraltet.

Dient zum Abrufen oder Festlegen des Schreibzugriffs für die Datei oder das Verzeichnis, die durch den Zeichenfolgenwert angegeben wird.

Methoden

CreatePermission()
Veraltet.

Erstellt und gibt eine neue FileIOPermissionzurück.

Equals(Object)
Veraltet.

Gibt einen Wert zurück, der angibt, ob diese Instanz einem angegebenen Objekt entspricht.

(Geerbt von Attribute)
GetHashCode()
Veraltet.

Gibt den Hashcode für diese Instanz zurück.

(Geerbt von Attribute)
GetType()
Veraltet.

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
IsDefaultAttribute()
Veraltet.

Wenn sie in einer abgeleiteten Klasse überschrieben wird, gibt an, ob der Wert dieser Instanz der Standardwert für die abgeleitete Klasse ist.

(Geerbt von Attribute)
Match(Object)
Veraltet.

Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem angegebenen Objekt entspricht.

(Geerbt von Attribute)
MemberwiseClone()
Veraltet.

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()
Veraltet.

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

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

Ordnet einen Satz von Namen einem entsprechenden Satz von Verteiler-IDs zu.

(Geerbt von Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)
Veraltet.

Ruft die Typinformationen für ein Objekt ab, mit denen die Typinformationen für eine Schnittstelle abgerufen werden können.

(Geerbt von Attribute)
_Attribute.GetTypeInfoCount(UInt32)
Veraltet.

Ruft die Anzahl der Typinformationsschnittstellen ab, die ein Objekt bereitstellt (entweder 0 oder 1).

(Geerbt von Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)
Veraltet.

Bietet Zugriff auf Eigenschaften und Methoden, die von einem Objekt verfügbar gemacht werden.

(Geerbt von Attribute)

Gilt für:

Weitere Informationen