Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

FileSystemSecurity.AddAccessRule-Methode: (FileSystemAccessRule)

 

Veröffentlicht: Oktober 2016

Fügt die angegebene Berechtigung Zugriffssteuerungsliste (ACL) auf die aktuelle Datei oder das Verzeichnis.

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

public void AddAccessRule(
	FileSystemAccessRule rule
)

Parameter

rule
Type: System.Security.AccessControl.FileSystemAccessRule

Ein FileSystemAccessRule Objekt, das eine Zugriffssteuerungsliste (ACL) Berechtigung hinzufügen, eine Datei oder ein Verzeichnis darstellt.

Exception Condition
ArgumentNullException

Der rule-Parameter ist null.

Die AddAccessRule -Methode fügt eine neue Regel, um die Liste der enthaltenen Regeln ein FileSystemSecurity Objekt.

Wenn eine Zugriffssteuerungsliste (ACL) für die angegebene Regel bereits vorhanden ist die AddAccessRule Methode wird immer noch die Regel hinzufügen: eine FileSystemAccessRule mit erstellte Objekt die Deny Enumerationswert ersetzt ein Objekt erstellt, mit der Allow -Enumerationswert.

Behalten Sie neue oder geänderte ACL-Informationen in eine Datei mithilfe der SetAccessControl oder SetAccessControl Methode. Behalten Sie neue oder geänderte ACL-Informationen für ein Verzeichnis mithilfe der SetAccessControl oder SetAccessControl Methode.

Um die ACL-Informationen aus einer Datei abzurufen, verwenden Sie die GetAccessControl oder GetAccessControl Methode. Verwenden Sie zum Abrufen der ACL-Informationen aus dem Verzeichnis der GetAccessControl oder GetAccessControl Methode.

Beim Hinzufügen einer Zugriffsregel festlegen, ohne das Synchronize -Flag, das Synchronize Flag wird der Regel automatisch hinzugefügt. Wenn Sie die Regel später ohne Entfernen der Synchronize -Flag, das Flag automatisch entfernt werden.

Im folgenden Codebeispiel wird mithilfe der FileSecurity Klasse hinzufügen und entfernen Sie dann einen Zugriffssteuerungseintrag für die Zugriffssteuerungsliste (ACL) aus einer Datei. 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
Verfügbar seit 2.0
Zurück zum Anfang
Anzeigen: