FileIOPermission Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Steuert die Möglichkeit, auf Dateien und Ordner zuzugreifen. Diese Klasse kann nicht vererbt werden.
public ref class FileIOPermission sealed : System::Security::CodeAccessPermission, System::Security::Permissions::IUnrestrictedPermission
[System.Serializable]
public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[<System.Serializable>]
type FileIOPermission = class
inherit CodeAccessPermission
interface IUnrestrictedPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileIOPermission = class
inherit CodeAccessPermission
interface IUnrestrictedPermission
Public NotInheritable Class FileIOPermission
Inherits CodeAccessPermission
Implements IUnrestrictedPermission
- Vererbung
- Attribute
- Implementiert
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*innen sollten alternative Mittel zum Ausführen von Sicherheitsaufgaben suchen.
Diese Zugriffsberechtigung unterscheidet zwischen den folgenden vier Arten des Datei-Ein-/Ausgabezugriffs, die von FileIOPermissionAccess bereitgestellt werden:
Read: Lesezugriff auf den Inhalt der Datei oder Zugriff auf Informationen über die Datei, z. B. die Länge oder die Uhrzeit der letzten Änderung.Write: Schreibzugriff auf den Inhalt der Datei oder Zugriff, um Informationen über die Datei zu ändern, z. B. seinen Namen. Ermöglicht auch das Löschen und Überschreiben.Append: Die Möglichkeit, nur am Ende einer Datei zu schreiben. Keine Möglichkeit zum Lesen.PathDiscovery: Zugriff auf die Informationen im Pfad selbst. Dadurch werden vertrauliche Informationen im Pfad, z. B. Benutzernamen, sowie Informationen zur Verzeichnisstruktur geschützt, die im Pfad angezeigt wird. Dieser Wert gewährt keinen Zugriff auf Dateien oder Ordner, die durch den Pfad dargestellt werden.
Note
Das Gewähren Write des Zugriffs auf eine Assembly ähnelt der Gewährung voll vertrauenswürdiger Assemblys. Wenn eine Anwendung nicht in das Dateisystem schreiben sollte, sollte sie keinen Zugriff haben Write .
Alle diese Berechtigungen sind unabhängig, was bedeutet, dass Rechte für einen anderen nicht implizieren. Die Berechtigung impliziert z. B Write . keine Berechtigung für Read oder Append. Wenn mehr als eine Berechtigung gewünscht wird, können sie mit einem bitweisen ODER kombiniert werden, wie im folgenden Codebeispiel gezeigt. Die Dateiberechtigung wird in Bezug auf kanonische absolute Pfade definiert; Aufrufe sollten immer mit kanonischen Dateipfaden erfolgen.
FileIOPermission beschreibt geschützte Vorgänge für Dateien und Ordner. Die File Klasse unterstützt den sicheren Zugriff auf Dateien und Ordner. Die Sicherheitszugriffsprüfung wird ausgeführt, wenn das Handle für die Datei erstellt wird. Durch die Überprüfung zur Erstellungszeit wird die Leistungsbeeinträchtigung der Sicherheitsüberprüfung minimiert. Das Öffnen einer Datei erfolgt einmal, während das Lesen und Schreiben mehrmals erfolgen kann. Sobald die Datei geöffnet wurde, werden keine weiteren Überprüfungen durchgeführt. Wenn das Objekt an einen nicht vertrauenswürdigen Aufrufer übergeben wird, kann es missbraucht werden. Beispielsweise sollten Dateihandles nicht in öffentlichen globalen Statiken gespeichert werden, bei denen Code mit weniger Berechtigungen darauf zugreifen kann.
FileIOPermissionAccess Gibt Aktionen an, die für die Datei oder den Ordner ausgeführt werden können. Darüber hinaus können diese Aktionen mit einem bitweisen OR kombiniert werden, um komplexe Instanzen zu bilden.
Der Zugriff auf einen Ordner impliziert den Zugriff auf alle darin enthaltenen Dateien sowie den Zugriff auf alle Dateien und Ordner in seinen Unterordnern. Der Zugriff auf C:\folder1\ impliziert Read beispielsweise Read den Zugriff auf C:\folder1\file1.txt, C:\folder1\folder2\, C:\folder1\folder2\file2.txtusw.
Note
In Versionen von .NET Framework vor .NET Framework 4 können Sie die CodeAccessPermission.Deny Methode verwenden, um versehentlichen Zugriff auf Systemressourcen durch vertrauenswürdigen Code zu verhindern. Deny ist jetzt veraltet, und der Zugriff auf Ressourcen wird jetzt ausschließlich durch den erteilten Berechtigungssatz für eine Assembly bestimmt. Um den Zugriff auf Dateien einzuschränken, müssen Sie teilweise vertrauenswürdigen Code in einem Sandkasten ausführen und ihm nur Berechtigungen zuweisen, auf die der Code zugreifen darf. Informationen zum Ausführen einer Anwendung in einer Sandbox finden Sie unter How to: Run Partially Trusted Code in a Sandbox.
Konstruktoren
| Name | Beschreibung |
|---|---|
| FileIOPermission(FileIOPermissionAccess, AccessControlActions, String) |
Initialisiert eine neue Instanz der FileIOPermission Klasse mit dem angegebenen Zugriff auf die angegebene Datei oder das angegebene Verzeichnis und die angegebenen Zugriffsrechte für Dateisteuerungsinformationen. |
| FileIOPermission(FileIOPermissionAccess, AccessControlActions, String[]) |
Initialisiert eine neue Instanz der FileIOPermission Klasse mit dem angegebenen Zugriff auf die angegebenen Dateien und Verzeichnisse sowie die angegebenen Zugriffsrechte für Dateisteuerungsinformationen. |
| FileIOPermission(FileIOPermissionAccess, String) |
Initialisiert eine neue Instanz der FileIOPermission Klasse mit dem angegebenen Zugriff auf die angegebene Datei oder das angegebene Verzeichnis. |
| FileIOPermission(FileIOPermissionAccess, String[]) |
Initialisiert eine neue Instanz der FileIOPermission Klasse mit dem angegebenen Zugriff auf die angegebenen Dateien und Verzeichnisse. |
| FileIOPermission(PermissionState) |
Initialisiert eine neue Instanz der FileIOPermission Klasse mit vollständig eingeschränkter oder uneingeschränkter Berechtigung wie angegeben. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| AllFiles |
Ruft den zulässigen Zugriff auf alle Dateien ab oder legt diesen fest. |
| AllLocalFiles |
Ruft den zulässigen Zugriff auf alle lokalen Dateien ab oder legt diesen fest. |
Methoden
| Name | Beschreibung |
|---|---|
| AddPathList(FileIOPermissionAccess, String) |
Fügt dem vorhandenen Status der Berechtigung Zugriff für die angegebene Datei oder das angegebene Verzeichnis hinzu. |
| AddPathList(FileIOPermissionAccess, String[]) |
Fügt dem vorhandenen Status der Berechtigung Zugriff auf die angegebenen Dateien und Verzeichnisse hinzu. |
| Assert() |
Deklariert, dass der aufrufende Code über den Code, der diese Methode aufruft, auf die Ressource zugreifen kann, auch wenn Aufrufern im Stapel nicht die Berechtigung zum Zugriff auf die Ressource erteilt wurden. Die Verwendung Assert() kann Sicherheitsprobleme erstellen. (Geerbt von CodeAccessPermission) |
| Copy() |
Erstellt und gibt eine identische Kopie der aktuellen Berechtigung zurück. |
| Demand() |
Erzwingt zur Laufzeit, SecurityException wenn allen Anrufern, die höher im Aufrufstapel sind, nicht die von der aktuellen Instanz angegebene Berechtigung erteilt wurde. (Geerbt von CodeAccessPermission) |
| Deny() |
Veraltet.
Verhindert, dass Aufrufer im Aufrufstapel den Code verwenden, der diese Methode aufruft, um auf die von der aktuellen Instanz angegebene Ressource zuzugreifen. (Geerbt von CodeAccessPermission) |
| Equals(Object) |
Bestimmt, ob das angegebene FileIOPermission Objekt dem aktuellen FileIOPermissionentspricht. |
| FromXml(SecurityElement) |
Rekonstruiert eine Berechtigung mit einem angegebenen Zustand aus einer XML-Codierung. |
| GetHashCode() |
Ruft einen Hashcode für das FileIOPermission Objekt ab, das für die Verwendung in Hashingalgorithmen und Datenstrukturen wie einer Hashtabelle geeignet ist. |
| GetPathList(FileIOPermissionAccess) |
Ruft alle Dateien und Verzeichnisse mit dem angegebenen FileIOPermissionAccess. |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| Intersect(IPermission) |
Erstellt und gibt eine Berechtigung zurück, die die Schnittmenge der aktuellen Berechtigung und die angegebene Berechtigung darstellt. |
| IsSubsetOf(IPermission) |
Bestimmt, ob die aktuelle Berechtigung eine Teilmenge der angegebenen Berechtigung ist. |
| IsUnrestricted() |
Gibt einen Wert zurück, der angibt, ob die aktuelle Berechtigung uneingeschränkt ist. |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| PermitOnly() |
Verhindert, dass Aufrufer im Aufrufstapel den Code verwenden, der diese Methode aufruft, um auf alle Ressourcen zuzugreifen, mit Ausnahme der von der aktuellen Instanz angegebenen Ressource. (Geerbt von CodeAccessPermission) |
| SetPathList(FileIOPermissionAccess, String) |
Legt den angegebenen Zugriff auf die angegebene Datei oder das angegebene Verzeichnis fest, wobei der vorhandene Status der Berechtigung ersetzt wird. |
| SetPathList(FileIOPermissionAccess, String[]) |
Legt den angegebenen Zugriff auf die angegebenen Dateien und Verzeichnisse fest, wobei der aktuelle Zustand für den angegebenen Zugriff durch den neuen Pfadsatz ersetzt wird. |
| ToString() |
Erstellt und gibt eine Zeichenfolgendarstellung des aktuellen Berechtigungsobjekts zurück. (Geerbt von CodeAccessPermission) |
| ToXml() |
Erstellt eine XML-Codierung der Berechtigung und des aktuellen Zustands. |
| Union(IPermission) |
Erstellt eine Berechtigung, die die Union der aktuellen Berechtigung und der angegebenen Berechtigung ist. |