Partilhar via


FileSystemAccessRule Construtores

Definição

Inicializa uma nova instância da classe FileSystemAccessRule.

Sobrecargas

FileSystemAccessRule(IdentityReference, FileSystemRights, AccessControlType)

Inicializa uma nova instância da classe FileSystemAccessRule usando uma referência a uma conta de usuário, um valor que especifica o tipo de operação associado à regra de acesso e um valor que especifica se a operação será permitida ou negada.

FileSystemAccessRule(String, FileSystemRights, AccessControlType)

Inicializa uma nova instância da classe FileSystemAccessRule usando o nome de uma conta de usuário, um valor que especifica o tipo de operação associado à regra de acesso e um valor que descreve se a operação será permitida ou negada.

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

Inicializa uma nova instância da classe FileSystemAccessRule usando uma referência a uma conta de usuário, um valor que especifica o tipo de operação associado à regra de acesso, um valor que determina como os direitos são herdados, um valor que determina como os direitos são propagados e um valor que especifica se a operação será permitida ou negada.

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

Inicializa uma nova instância da classe FileSystemAccessRule usando um nome de uma conta de usuário, um valor que especifica o tipo de operação associado à regra de acesso, um valor que determina como os direitos são herdados, um valor que determina como os direitos são propagados e um valor que especifica se a operação será permitida ou negada.

FileSystemAccessRule(IdentityReference, FileSystemRights, AccessControlType)

Inicializa uma nova instância da classe FileSystemAccessRule usando uma referência a uma conta de usuário, um valor que especifica o tipo de operação associado à regra de acesso e um valor que especifica se a operação será permitida ou negada.

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)

Parâmetros

identity
IdentityReference

Um objeto IdentityReference que encapsula uma referência a uma conta de usuário.

fileSystemRights
FileSystemRights

Um dos valores FileSystemRights que especifica o tipo de operação associada à regra de acesso.

type
AccessControlType

Um dos valores de AccessControlType que especifica se a operação será permitida ou negada.

Exceções

O parâmetro identity não é um objeto IdentityReference.

O parâmetro identity é null.

Uma enumeração incorreta foi passada para o parâmetro type.

Comentários

Use esse construtor para criar uma regra de controle de acesso que você pode persistir usando a FileSecurity classe ou DirectorySecurity . As regras de controle de acesso definem direitos de conta de usuário que determinam quais ações são permitidas ou não permitidas em computadores que executam o Microsoft Windows.

Aplica-se a

FileSystemAccessRule(String, FileSystemRights, AccessControlType)

Inicializa uma nova instância da classe FileSystemAccessRule usando o nome de uma conta de usuário, um valor que especifica o tipo de operação associado à regra de acesso e um valor que descreve se a operação será permitida ou negada.

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)

Parâmetros

identity
String

O nome de uma conta de usuário.

fileSystemRights
FileSystemRights

Um dos valores FileSystemRights que especifica o tipo de operação associada à regra de acesso.

type
AccessControlType

Um dos valores de AccessControlType que especifica se a operação será permitida ou negada.

Exceções

O parâmetro identity é null.

Uma enumeração incorreta foi passada para o parâmetro type.

Exemplos

O exemplo de código a seguir usa a FileSecurity classe para adicionar e, em seguida, remover uma ACE (entrada de controle de acesso) de um arquivo. Você deve fornecer uma conta de grupo ou de usuário válida para executar este exemplo.

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

Comentários

Use esse construtor para criar uma regra de controle de acesso que você pode persistir usando a FileSecurity classe ou DirectorySecurity . As regras de controle de acesso definem direitos de conta de usuário que determinam quais ações são permitidas ou não permitidas em computadores que executam o Microsoft Windows.

O identity parâmetro deve identificar uma conta válida no computador ou domínio atual. A cadeia de caracteres usa o seguinte formulário, em que DOMAIN é o nome de um domínio ou nome de computador válido e account é o nome de uma conta de usuário válida em um domínio ou computador: DOMAIN\account.

Aplica-se a

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

Inicializa uma nova instância da classe FileSystemAccessRule usando uma referência a uma conta de usuário, um valor que especifica o tipo de operação associado à regra de acesso, um valor que determina como os direitos são herdados, um valor que determina como os direitos são propagados e um valor que especifica se a operação será permitida ou negada.

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)

Parâmetros

identity
IdentityReference

Um objeto IdentityReference que encapsula uma referência a uma conta de usuário.

fileSystemRights
FileSystemRights

Um dos valores FileSystemRights que especifica o tipo de operação associada à regra de acesso.

inheritanceFlags
InheritanceFlags

Um dos valores InheritanceFlags que especificam como as máscaras de acesso são propagadas para objetos filho.

propagationFlags
PropagationFlags

Um dos valores PropagationFlags que especificam como as ACEs (Entradas de Controle de Acesso) são propagadas para objetos filho.

type
AccessControlType

Um dos valores de AccessControlType que especifica se a operação será permitida ou negada.

Exceções

O parâmetro identity não é um objeto IdentityReference.

O parâmetro identity é null.

Uma enumeração incorreta foi passada para o parâmetro type.

- ou -

Uma enumeração incorreta foi passada para o parâmetro inheritanceFlags.

- ou -

Uma enumeração incorreta foi passada para o parâmetro propagationFlags.

Comentários

Use esse construtor para criar uma regra de controle de acesso que você pode persistir usando a FileSecurity classe ou DirectorySecurity . As regras de controle de acesso definem direitos de conta de usuário que determinam quais ações são permitidas ou não permitidas em computadores que executam o Microsoft Windows.

Aplica-se a

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

Inicializa uma nova instância da classe FileSystemAccessRule usando um nome de uma conta de usuário, um valor que especifica o tipo de operação associado à regra de acesso, um valor que determina como os direitos são herdados, um valor que determina como os direitos são propagados e um valor que especifica se a operação será permitida ou negada.

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)

Parâmetros

identity
String

O nome de uma conta de usuário.

fileSystemRights
FileSystemRights

Um dos valores FileSystemRights que especifica o tipo de operação associada à regra de acesso.

inheritanceFlags
InheritanceFlags

Um dos valores InheritanceFlags que especificam como as máscaras de acesso são propagadas para objetos filho.

propagationFlags
PropagationFlags

Um dos valores PropagationFlags que especificam como as ACEs (Entradas de Controle de Acesso) são propagadas para objetos filho.

type
AccessControlType

Um dos valores de AccessControlType que especifica se a operação será permitida ou negada.

Exceções

O parâmetro identity é null.

Uma enumeração incorreta foi passada para o parâmetro type.

- ou -

Uma enumeração incorreta foi passada para o parâmetro inheritanceFlags.

- ou -

Uma enumeração incorreta foi passada para o parâmetro propagationFlags.

Comentários

Use esse construtor para criar uma regra de controle de acesso que você pode persistir usando a FileSecurity classe ou DirectorySecurity . As regras de controle de acesso definem direitos de conta de usuário que determinam quais ações são permitidas ou não permitidas em computadores que executam o Microsoft Windows.

O identity parâmetro deve identificar uma conta válida no computador ou domínio atual. A cadeia de caracteres usa o seguinte formulário, em que DOMAIN é o nome de um domínio ou nome de computador válido e account é o nome de uma conta de usuário válida em um domínio ou computador: DOMAIN\account.

Aplica-se a