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.RemoveAccessRule-Methode: (FileSystemAccessRule)

 

Veröffentlicht: Oktober 2016

Entfernt alle entsprechenden Berechtigungen gewähren oder verweigern Access Control List (ACL) aus der aktuellen Datei oder Verzeichnis.

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

public bool RemoveAccessRule(
	FileSystemAccessRule rule
)

Parameter

rule
Type: System.Security.AccessControl.FileSystemAccessRule

Ein FileSystemAccessRule Objekt, das eine Zugriffssteuerungsliste (ACL) Berechtigung entfernen aus einer Datei oder ein Verzeichnis darstellt.

Rückgabewert

Type: System.Boolean

true Wenn die Regel entfernt wurde. andernfalls false.

Exception Condition
ArgumentNullException

Der rule-Parameter ist null.

Die RemoveAccessRule -Methode entfernt alle entsprechenden Deny Zugriffsregeln bzw. alle entsprechenden Allow Zugriffsregeln aus dem aktuellen FileSystemSecurity Objekt. Beispielsweise können diese Methode zum Entfernen aller Deny Zugriffsregeln für einen Benutzer durch Übergeben einer FileSystemAccessRule mit erstellte Objekt der Deny Wert, der Read Wert und einem Benutzerkonto. Wenn Sie dies tun, die RemoveAccessRule -Methode entfernt alle Deny-Regeln, die angeben, der Read Wert oder der Write Wert.

Behalten Sie neue oder geänderte Zugriffssteuerungsliste (ACL) Informationen in einer 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: