FileSecurity-Klasse
TOC
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern

FileSecurity-Klasse

Aktualisiert: November 2007

Stellt die Zugriffssteuerung und die Überwachungssicherheit für eine Datei dar. Diese Klasse kann nicht geerbt werden.

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

public sealed class FileSecurity : FileSystemSecurity
public final class FileSecurity extends FileSystemSecurity
public final class FileSecurity extends FileSystemSecurity

Die FileSecurity-Klasse gibt die Zugriffsrechte für eine Systemdatei an und gibt an, wie Zugriffsversuche überwacht werden. Die Klasse stellt Zugriffs- und Überwachungsrechte als Regeln dar. Jede Zugriffsregel wird durch ein FileSystemAccessRule-Objekt dargestellt, und jede Überwachungsregel wird durch ein FileSystemAuditRule-Objekt dargestellt.

Die FileSecurity-Klasse ist eine Abstraktion des zugrunde liegenden Dateisicherheitssystems von Microsoft Windows. In diesem System verfügt jede Datei über eine Discretionary Access Control List (DACL – freigegebene Zugriffssteuerungsliste), mit der der Zugriff auf das Verzeichnis gesteuert wird, sowie über eine System Access Control List (SACL – Systemzugriffssteuerungsliste), mit der die überwachten Zugriffssteuerungsversuche angegeben werden. Die FileSystemAccessRule-Klasse und die FileSystemAuditRule-Klasse stellen Abstraktionen von Access Control Attempts (ACE – Zugriffssteuerungseintrag) dar, zu denen DACLs und SACLs gehören.

Die FileSecurity-Klasse blendet viele Details von DACLs und SACLs aus. Es sind keine Überlegungen zur ACE-Reihenfolge oder zu NULL-DACLS erforderlich.

Verwenden Sie die FileSecurity-Klasse, um die Zugriffsregeln abzurufen, hinzuzufügen bzw. zu ändern, die die DACL und SACL einer Datei darstellen.

Mithilfe der SetAccessControl-Methode können neue oder geänderte Zugriffs- bzw. Überwachungsregeln für eine Datei beibehalten werden. Mithilfe der GetAccessControl-Methode können Zugriffs- bzw. Überwachungsregeln aus einer vorhandenen Datei abgerufen werden.

Im folgenden Codebeispiel wird die FileSecurity-Klasse verwendet, um einer Datei einen ACL-Eintrag hinzuzufügen und diesen dann wieder aus der Datei 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);

        }
    }
}


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

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

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0, 2.0

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2016 Microsoft