Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

FileSystemAccessRule-Klasse

Hinweis: Diese Klasse ist neu in .NET Framework, Version 2.0.

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

Namespace: System.Security.AccessControl
Assembly: mscorlib (in mscorlib.dll)

public sealed class FileSystemAccessRule : AccessRule
public final class FileSystemAccessRule extends AccessRule
public final class FileSystemAccessRule extends AccessRule

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);

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

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

        }
    }
}

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

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0
Anzeigen: