Sdílet prostřednictvím


FileSystemAccessRule Konstruktory

Definice

Inicializuje novou instanci FileSystemAccessRule třídy.

Přetížení

FileSystemAccessRule(IdentityReference, FileSystemRights, AccessControlType)

Inicializuje novou instanci FileSystemAccessRule třídy pomocí odkazu na uživatelský účet, hodnotu, která určuje typ operace přidružené k pravidlu přístupu, a hodnotu, která určuje, zda má být operace povolena nebo odepřena.

FileSystemAccessRule(String, FileSystemRights, AccessControlType)

Inicializuje novou instanci FileSystemAccessRule třídy pomocí názvu uživatelského účtu, hodnoty, která určuje typ operace přidružené k pravidlu přístupu, a hodnotu, která popisuje, zda povolit nebo zakázat operaci.

FileSystemAccessRule(IdentityReference, FileSystemRights, InheritanceFlags, PropagationFlags, AccessControlType)

Inicializuje novou instanci FileSystemAccessRule třídy pomocí odkazu na uživatelský účet, hodnotu, která určuje typ operace přidružené k pravidlu přístupu, hodnotu, která určuje způsob dědění práv, hodnotu určující způsob šíření práv a hodnotu, která určuje, zda se má operace povolit nebo odepřít.

FileSystemAccessRule(String, FileSystemRights, InheritanceFlags, PropagationFlags, AccessControlType)

Inicializuje novou instanci FileSystemAccessRule třídy pomocí názvu uživatelského účtu, hodnoty, která určuje typ operace přidružené k pravidlu přístupu, hodnotu, která určuje způsob dědění práv, hodnotu určující způsob šíření práv a hodnotu, která určuje, zda se má operace povolit nebo odepřít.

FileSystemAccessRule(IdentityReference, FileSystemRights, AccessControlType)

Inicializuje novou instanci FileSystemAccessRule třídy pomocí odkazu na uživatelský účet, hodnotu, která určuje typ operace přidružené k pravidlu přístupu, a hodnotu, která určuje, zda má být operace povolena nebo odepřena.

public:
 FileSystemAccessRule(System::Security::Principal::IdentityReference ^ identity, System::Security::AccessControl::FileSystemRights fileSystemRights, System::Security::AccessControl::AccessControlType type);
public FileSystemAccessRule (System.Security.Principal.IdentityReference identity, System.Security.AccessControl.FileSystemRights fileSystemRights, System.Security.AccessControl.AccessControlType type);
new System.Security.AccessControl.FileSystemAccessRule : System.Security.Principal.IdentityReference * System.Security.AccessControl.FileSystemRights * System.Security.AccessControl.AccessControlType -> System.Security.AccessControl.FileSystemAccessRule
Public Sub New (identity As IdentityReference, fileSystemRights As FileSystemRights, type As AccessControlType)

Parametry

identity
IdentityReference

Objekt IdentityReference , který zapouzdřuje odkaz na uživatelský účet.

fileSystemRights
FileSystemRights

Jedna z FileSystemRights hodnot, která určuje typ operace přidružené k pravidlu přístupu.

type
AccessControlType

Jedna z AccessControlType hodnot, která určuje, jestli se má operace povolit nebo odepřít.

Výjimky

Parametr identity není IdentityReference objekt.

Parametr identity je null.

Parametru type byl předán nesprávný výčet.

Poznámky

Pomocí tohoto konstruktoru vytvořte pravidlo řízení přístupu, které můžete zachovat pomocí FileSecurity třídy nebo DirectorySecurity . Pravidla řízení přístupu definují práva uživatelského účtu, která určují, které akce jsou povoleny nebo zakázány na počítačích s Microsoft Windows.

Platí pro

FileSystemAccessRule(String, FileSystemRights, AccessControlType)

Inicializuje novou instanci FileSystemAccessRule třídy pomocí názvu uživatelského účtu, hodnoty, která určuje typ operace přidružené k pravidlu přístupu, a hodnotu, která popisuje, zda povolit nebo zakázat operaci.

public:
 FileSystemAccessRule(System::String ^ identity, System::Security::AccessControl::FileSystemRights fileSystemRights, System::Security::AccessControl::AccessControlType type);
public FileSystemAccessRule (string identity, System.Security.AccessControl.FileSystemRights fileSystemRights, System.Security.AccessControl.AccessControlType type);
new System.Security.AccessControl.FileSystemAccessRule : string * System.Security.AccessControl.FileSystemRights * System.Security.AccessControl.AccessControlType -> System.Security.AccessControl.FileSystemAccessRule
Public Sub New (identity As String, fileSystemRights As FileSystemRights, type As AccessControlType)

Parametry

identity
String

Název uživatelského účtu.

fileSystemRights
FileSystemRights

Jedna z FileSystemRights hodnot, která určuje typ operace přidružené k pravidlu přístupu.

type
AccessControlType

Jedna z AccessControlType hodnot, která určuje, jestli se má operace povolit nebo odepřít.

Výjimky

Parametr identity je null.

Parametru type byl předán nesprávný výčet.

Příklady

Následující příklad kódu používá FileSecurity třídu k přidání a následnému odebrání položky řízení přístupu (ACE) ze souboru. Abyste mohli tento příklad spustit, musíte zadat platný uživatelský nebo skupinový účet.

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)
        {
            FileInfo fileInfo = new(fileName);
            FileSecurity fSecurity = fileInfo.GetAccessControl();

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

            // Set the new access settings.
            fileInfo.SetAccessControl(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)
        {
            FileInfo fileInfo = new(fileName);
            FileSecurity fSecurity = fileInfo.GetAccessControl();

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

            // Set the new access settings.
            fileInfo.SetAccessControl(fSecurity);
        }
    }
}
Imports System.IO
Imports System.Security.AccessControl

Module FileExample

    Sub Main()
        Try
            Dim fileName As String = "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 e As Exception
            Console.WriteLine(e)
        End Try

    End Sub

    ' Adds an ACL entry on the specified file for the specified account.
    Sub AddFileSecurity(ByVal fileName As String, ByVal account As String,
        ByVal rights As FileSystemRights, ByVal controlType As AccessControlType)

        Dim fileInfo As New FileInfo(fileName)
        Dim fSecurity As FileSecurity = fileInfo.GetAccessControl()

        ' Add the FileSystemAccessRule to the security settings. 
        Dim accessRule As New FileSystemAccessRule(account, rights, controlType)

        fSecurity.AddAccessRule(accessRule)

        ' Set the new access settings.
        fileInfo.SetAccessControl(fSecurity)

    End Sub

    ' Removes an ACL entry on the specified file for the specified account.
    Sub RemoveFileSecurity(ByVal fileName As String, ByVal account As String,
        ByVal rights As FileSystemRights, ByVal controlType As AccessControlType)

        Dim fileInfo As New FileInfo(fileName)
        Dim fSecurity As FileSecurity = fileInfo.GetAccessControl()

        ' Remove the FileSystemAccessRule from the security settings. 
        fSecurity.RemoveAccessRule(New FileSystemAccessRule(account,
            rights, controlType))

        ' Set the new access settings.
        fileInfo.SetAccessControl(fSecurity)

    End Sub
End Module

Poznámky

Pomocí tohoto konstruktoru vytvořte pravidlo řízení přístupu, které můžete zachovat pomocí FileSecurity třídy nebo DirectorySecurity . Pravidla řízení přístupu definují práva uživatelského účtu, která určují, které akce jsou povoleny nebo zakázány na počítačích s Microsoft Windows.

Parametr identity musí identifikovat platný účet v aktuálním počítači nebo doméně. Řetězec má následující tvar, kde DOMAIN je název platné domény nebo počítače a account je název platného uživatelského účtu v doméně nebo počítači: DOMAIN\account.

Platí pro

FileSystemAccessRule(IdentityReference, FileSystemRights, InheritanceFlags, PropagationFlags, AccessControlType)

Inicializuje novou instanci FileSystemAccessRule třídy pomocí odkazu na uživatelský účet, hodnotu, která určuje typ operace přidružené k pravidlu přístupu, hodnotu, která určuje způsob dědění práv, hodnotu určující způsob šíření práv a hodnotu, která určuje, zda se má operace povolit nebo odepřít.

public:
 FileSystemAccessRule(System::Security::Principal::IdentityReference ^ identity, System::Security::AccessControl::FileSystemRights fileSystemRights, System::Security::AccessControl::InheritanceFlags inheritanceFlags, System::Security::AccessControl::PropagationFlags propagationFlags, System::Security::AccessControl::AccessControlType type);
public FileSystemAccessRule (System.Security.Principal.IdentityReference identity, System.Security.AccessControl.FileSystemRights fileSystemRights, System.Security.AccessControl.InheritanceFlags inheritanceFlags, System.Security.AccessControl.PropagationFlags propagationFlags, System.Security.AccessControl.AccessControlType type);
new System.Security.AccessControl.FileSystemAccessRule : System.Security.Principal.IdentityReference * System.Security.AccessControl.FileSystemRights * System.Security.AccessControl.InheritanceFlags * System.Security.AccessControl.PropagationFlags * System.Security.AccessControl.AccessControlType -> System.Security.AccessControl.FileSystemAccessRule
Public Sub New (identity As IdentityReference, fileSystemRights As FileSystemRights, inheritanceFlags As InheritanceFlags, propagationFlags As PropagationFlags, type As AccessControlType)

Parametry

identity
IdentityReference

Objekt IdentityReference , který zapouzdřuje odkaz na uživatelský účet.

fileSystemRights
FileSystemRights

Jedna z FileSystemRights hodnot, která určuje typ operace přidružené k pravidlu přístupu.

inheritanceFlags
InheritanceFlags

Jedna z InheritanceFlags hodnot, která určuje, jak se masky přístupu šíří do podřízených objektů.

propagationFlags
PropagationFlags

Jedna z PropagationFlags hodnot, která určuje způsob šíření položek Access Control (ACE) do podřízených objektů.

type
AccessControlType

Jedna z AccessControlType hodnot, která určuje, jestli se má operace povolit nebo odepřít.

Výjimky

Parametr identity není IdentityReference objekt.

Parametr identity je null.

Parametru type byl předán nesprávný výčet.

-nebo-

Parametru inheritanceFlags byl předán nesprávný výčet.

-nebo-

Parametru propagationFlags byl předán nesprávný výčet.

Poznámky

Pomocí tohoto konstruktoru vytvořte pravidlo řízení přístupu, které můžete zachovat pomocí FileSecurity třídy nebo DirectorySecurity . Pravidla řízení přístupu definují práva uživatelského účtu, která určují, které akce jsou povoleny nebo zakázány na počítačích s Microsoft Windows.

Platí pro

FileSystemAccessRule(String, FileSystemRights, InheritanceFlags, PropagationFlags, AccessControlType)

Inicializuje novou instanci FileSystemAccessRule třídy pomocí názvu uživatelského účtu, hodnoty, která určuje typ operace přidružené k pravidlu přístupu, hodnotu, která určuje způsob dědění práv, hodnotu určující způsob šíření práv a hodnotu, která určuje, zda se má operace povolit nebo odepřít.

public:
 FileSystemAccessRule(System::String ^ identity, System::Security::AccessControl::FileSystemRights fileSystemRights, System::Security::AccessControl::InheritanceFlags inheritanceFlags, System::Security::AccessControl::PropagationFlags propagationFlags, System::Security::AccessControl::AccessControlType type);
public FileSystemAccessRule (string identity, System.Security.AccessControl.FileSystemRights fileSystemRights, System.Security.AccessControl.InheritanceFlags inheritanceFlags, System.Security.AccessControl.PropagationFlags propagationFlags, System.Security.AccessControl.AccessControlType type);
new System.Security.AccessControl.FileSystemAccessRule : string * System.Security.AccessControl.FileSystemRights * System.Security.AccessControl.InheritanceFlags * System.Security.AccessControl.PropagationFlags * System.Security.AccessControl.AccessControlType -> System.Security.AccessControl.FileSystemAccessRule
Public Sub New (identity As String, fileSystemRights As FileSystemRights, inheritanceFlags As InheritanceFlags, propagationFlags As PropagationFlags, type As AccessControlType)

Parametry

identity
String

Název uživatelského účtu.

fileSystemRights
FileSystemRights

Jedna z FileSystemRights hodnot, která určuje typ operace přidružené k pravidlu přístupu.

inheritanceFlags
InheritanceFlags

Jedna z InheritanceFlags hodnot, která určuje, jak se masky přístupu šíří do podřízených objektů.

propagationFlags
PropagationFlags

Jedna z PropagationFlags hodnot, která určuje způsob šíření položek Access Control (ACE) do podřízených objektů.

type
AccessControlType

Jedna z AccessControlType hodnot, která určuje, jestli se má operace povolit nebo odepřít.

Výjimky

Parametr identity je null.

Parametru type byl předán nesprávný výčet.

-nebo-

Parametru inheritanceFlags byl předán nesprávný výčet.

-nebo-

Parametru propagationFlags byl předán nesprávný výčet.

Poznámky

Pomocí tohoto konstruktoru vytvořte pravidlo řízení přístupu, které můžete zachovat pomocí FileSecurity třídy nebo DirectorySecurity . Pravidla řízení přístupu definují práva uživatelského účtu, která určují, které akce jsou povoleny nebo zakázány na počítačích s Microsoft Windows.

Parametr identity musí identifikovat platný účet v aktuálním počítači nebo doméně. Řetězec má následující tvar, kde DOMAIN je název platné domény nebo počítače a account je název platného uživatelského účtu v doméně nebo počítači: DOMAIN\account.

Platí pro