Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

FileSystemAccessRule-Klasse

Stellt eine Abstaktion eines Zugriffssteuerungseintrags (Access Control Entry - ACE) dar, der Zugriffsregeln für eine Datei oder ein Verzeichnis darstellt. Diese Klasse kann nicht vererbt werden.

System.Object
  System.Security.AccessControl.AuthorizationRule
    System.Security.AccessControl.AccessRule
      System.Security.AccessControl.FileSystemAccessRule

Namespace:  System.Security.AccessControl
Assembly:  mscorlib (in mscorlib.dll)
public sealed class FileSystemAccessRule : AccessRule

Der FileSystemAccessRule-Typ macht die folgenden Member verfügbar.

  Name Beschreibung
Öffentliche Methode FileSystemAccessRule(IdentityReference, FileSystemRights, AccessControlType) Initialisiert eine neue Instanz der FileSystemAccessRule-Klasse mit einem Verweis auf ein Benutzerkonto, einem Wert, der die der Zugriffsregel zugeordnete Operation angibt, und einem Wert, der angibt, ob die Operation zugelassen oder verweigert werden soll.
Öffentliche Methode FileSystemAccessRule(String, FileSystemRights, AccessControlType) Initialisiert eine neue Instanz der FileSystemAccessRule-Klasse mit den Namen eines Benutzerkontos, einem Wert, der die der Zugriffsregel zugeordnete Operation angibt, und einem Wert, der angibt, ob die Operation zugelassen oder verweigert werden soll.
Öffentliche Methode FileSystemAccessRule(IdentityReference, FileSystemRights, InheritanceFlags, PropagationFlags, AccessControlType) Initialisiert eine neue Instanz der FileSystemAccessRule-Klasse mit einem Verweis auf ein Benutzerkonto, einem Wert, der die der Zugriffsregel zugeordnete Operation angibt, einem Wert, der angibt, wie Rechte geerbt werden, einem Wert, der angibt, wie Rechte weitergegeben werden, und einem Wert, der angibt, ob die Operation zugelassen oder verweigert werden soll.
Öffentliche Methode FileSystemAccessRule(String, FileSystemRights, InheritanceFlags, PropagationFlags, AccessControlType) Initialisiert eine neue Instanz der FileSystemAccessRule-Klasse mit dem Namen eines Benutzerkontos, einem Wert, der die der Zugriffsregel zugeordnete Operation angibt, einem Wert, der angibt, wie Rechte geerbt werden, einem Wert, der angibt, wie Rechte weitergegeben werden, und einem Wert, der angibt, ob die Operation zugelassen oder verweigert werden soll.
Zum Seitenanfang
  Name Beschreibung
Öffentliche Eigenschaft AccessControlType Ruft den AccessControlType-Wert ab, der diesem AccessRule-Objekt zugeordnet ist. (Von AccessRule geerbt.)
Geschützte Eigenschaft AccessMask Ruft die Zugriffsmaske für diese Regel ab. (Von AuthorizationRule geerbt.)
Öffentliche Eigenschaft FileSystemRights Ruft die dem aktuellen FileSystemAccessRule-Objekt zugeordneten FileSystemRights-Flags ab.
Öffentliche Eigenschaft IdentityReference Ruft die IdentityReference ab, für die diese Regel gilt. (Von AuthorizationRule geerbt.)
Öffentliche Eigenschaft InheritanceFlags Ruft den Wert von Flags ab, mit denen bestimmt wird, wie diese Regel von untergeordneten Objekten geerbt wird. (Von AuthorizationRule geerbt.)
Öffentliche Eigenschaft IsInherited Ruft einen Wert ab, der angibt, ob diese Regel explizit festgelegt oder von einem übergeordneten Containerobjekt geerbt wird. (Von AuthorizationRule geerbt.)
Öffentliche Eigenschaft PropagationFlags Ruft den Wert der Weitergabeflags ab, die bestimmen, wie die Vererbung dieser Regel an untergeordnete Objekte weitergegeben wird. Diese Eigenschaft ist nur dann relevant, wenn der Wert der InheritanceFlags-Enumeration nicht None ist. (Von AuthorizationRule geerbt.)
Zum Seitenanfang
  Name Beschreibung
Öffentliche Methode Equals(Object) Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.)
Geschützte Methode Finalize Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der automatische Speicherbereinigung freigegeben wird. (Von Object geerbt.)
Öffentliche Methode GetHashCode Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.)
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte Methode MemberwiseClone Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche Methode ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang

Die FileSystemAccessRule-Klasse stellt eine Abstraktion des zugrunde liegenden ACE dar. Ein ACE besteht aus einem Benutzerkonto, der Zugriffsart (lesen, schreiben usw.) und der Angabe, ob dieses Recht gewährt oder verweigert werden soll. Mit dieser Klasse kann auch angeben werden, wie Zugriffsregeln an untergeordnete Objekte weitergegeben werden.

Verwenden Sie die FileSystemAccessRule-Klasse zum Erstellen einer neuen Zugriffsregel. Sie können die Regel mit der FileSecurity-Klasse oder der DirectorySecurity-Klasse beibehalten.

Im folgenden Codebeispiel wird die FileSecurity-Klasse verwendet, um einer Datei ein Zugriffssteuerungseintrag (ACE) hinzuzufügen und dann wieder zu entfernen. Sie müssen ein gültiges Benutzer- oder Gruppenkonto angeben, um dieses Beispiel auszuführen.


using System;
using System.IO;
using System.Security.AccessControl;

namespace FileSystemExample
{
    class FileExample
    {
        public static void Main()
        {
            try
            {
                string fileName = "test.xml";

                Console.WriteLine("Adding access control entry for "
                    + fileName);

                // Add the access control entry to the file.
                AddFileSecurity(fileName, @"DomainName\AccountName",
                    FileSystemRights.ReadData, AccessControlType.Allow);

                Console.WriteLine("Removing access control entry from "
                    + fileName);

                // Remove the access control entry from the file.
                RemoveFileSecurity(fileName, @"DomainName\AccountName",
                    FileSystemRights.ReadData, AccessControlType.Allow);

                Console.WriteLine("Done.");
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }

        // Adds an ACL entry on the specified file for the specified account.
        public static void AddFileSecurity(string fileName, string account,
            FileSystemRights rights, AccessControlType controlType)
        {


            // Get a FileSecurity object that represents the
            // current security settings.
            FileSecurity fSecurity = File.GetAccessControl(fileName);

            // Add the FileSystemAccessRule to the security settings.
            fSecurity.AddAccessRule(new FileSystemAccessRule(account,
                rights, controlType));

            // Set the new access settings.
            File.SetAccessControl(fileName, fSecurity);

        }

        // Removes an ACL entry on the specified file for the specified account.
        public static void RemoveFileSecurity(string fileName, string account,
            FileSystemRights rights, AccessControlType controlType)
        {

            // Get a FileSecurity object that represents the
            // current security settings.
            FileSecurity fSecurity = File.GetAccessControl(fileName);

            // Remove the FileSystemAccessRule from the security settings.
            fSecurity.RemoveAccessRule(new FileSystemAccessRule(account,
                rights, controlType));

            // Set the new access settings.
            File.SetAccessControl(fileName, fSecurity);

        }
    }
}


.NET Framework

Unterstützt in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Community-Inhalt Hinzufügen
Anmerkungen FAQ