Поделиться через


FileSystemAccessRule Конструкторы

Определение

Инициализирует новый экземпляр класса FileSystemAccessRule.

Перегрузки

FileSystemAccessRule(IdentityReference, FileSystemRights, AccessControlType)

Инициализирует новый экземпляр класса FileSystemAccessRule, используя ссылку на учетную запись пользователя, значение, определяющее тип операции, связанной с правилом доступа, а также признак разрешения или запрета этой операции.

FileSystemAccessRule(String, FileSystemRights, AccessControlType)

Инициализирует новый экземпляр класса FileSystemAccessRule, используя имя учетной записи пользователя, значение, определяющее тип операции, связанной с правилом доступа, а также признак разрешения или запрета этой операции.

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

Инициализирует новый экземпляр класса FileSystemAccessRule, используя ссылку на учетную запись пользователя, значение, определяющее тип связанных с правилом доступа операций, значение, определяющее порядок наследования прав, значение, определяющее порядок распространения прав, а также признак разрешения или запрета этой операции.

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

Инициализирует новый экземпляр класса FileSystemAccessRule, используя имя учетной записи пользователя, значение, определяющее тип связанных с правилом доступа операций, значение, определяющее порядок наследования прав, значение, определяющее порядок распространения прав, а также признак разрешения или запрета этой операции.

FileSystemAccessRule(IdentityReference, FileSystemRights, AccessControlType)

Инициализирует новый экземпляр класса FileSystemAccessRule, используя ссылку на учетную запись пользователя, значение, определяющее тип операции, связанной с правилом доступа, а также признак разрешения или запрета этой операции.

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)

Параметры

identity
IdentityReference

Объект IdentityReference, инкапсулирующий ссылку на учетную запись пользователя.

fileSystemRights
FileSystemRights

Одно из значений FileSystemRights, задающих тип операции, связанной с правилом доступа.

type
AccessControlType

Одно из значений перечисления AccessControlType, которое определяет, запрещена или разрешена операция.

Исключения

Параметр identity не является объектом IdentityReference.

Параметр identity имеет значение null.

Параметру typeпередано неверное перечисление.

Комментарии

Используйте этот конструктор для создания правила управления доступом, которое можно сохранить с помощью FileSecurity класса или DirectorySecurity . Правила управления доступом определяют права учетной записи пользователя, которые определяют, какие действия разрешены или запрещены на компьютерах под управлением Microsoft Windows.

Применяется к

FileSystemAccessRule(String, FileSystemRights, AccessControlType)

Инициализирует новый экземпляр класса FileSystemAccessRule, используя имя учетной записи пользователя, значение, определяющее тип операции, связанной с правилом доступа, а также признак разрешения или запрета этой операции.

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)

Параметры

identity
String

Имя учетной записи пользователя.

fileSystemRights
FileSystemRights

Одно из значений FileSystemRights, задающих тип операции, связанной с правилом доступа.

type
AccessControlType

Одно из значений перечисления AccessControlType, которое определяет, запрещена или разрешена операция.

Исключения

Параметр identity имеет значение null.

Параметру typeпередано неверное перечисление.

Примеры

В следующем примере кода класс используется FileSecurity для добавления и удаления записи управления доступом (ACE) из файла. Для выполнения этого примера необходимо указать допустимую учетную запись пользователя или группы.

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

Комментарии

Используйте этот конструктор для создания правила управления доступом, которое можно сохранить с помощью FileSecurity класса или DirectorySecurity . Правила управления доступом определяют права учетной записи пользователя, которые определяют, какие действия разрешены или запрещены на компьютерах под управлением Microsoft Windows.

Параметр identity должен идентифицировать действительную учетную запись на текущем компьютере или домене. Строка имеет следующий вид, где DOMAIN — это имя допустимого домена или компьютера, а account — имя допустимой учетной записи пользователя в домене или компьютере: DOMAIN\account.

Применяется к

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

Инициализирует новый экземпляр класса FileSystemAccessRule, используя ссылку на учетную запись пользователя, значение, определяющее тип связанных с правилом доступа операций, значение, определяющее порядок наследования прав, значение, определяющее порядок распространения прав, а также признак разрешения или запрета этой операции.

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)

Параметры

identity
IdentityReference

Объект IdentityReference, инкапсулирующий ссылку на учетную запись пользователя.

fileSystemRights
FileSystemRights

Одно из значений FileSystemRights, задающих тип операции, связанной с правилом доступа.

inheritanceFlags
InheritanceFlags

Одно из значений InheritanceFlags, определяющее порядок распространения масок доступа на дочерние объекты.

propagationFlags
PropagationFlags

Одно из значений PropagationFlags, определяющее порядок распространения элементов управления доступом на дочерние объекты.

type
AccessControlType

Одно из значений перечисления AccessControlType, которое определяет, запрещена или разрешена операция.

Исключения

Параметр identity не является объектом IdentityReference.

Параметр identity имеет значение null.

Параметру typeпередано неверное перечисление.

-или-

Параметру inheritanceFlagsпередано неверное перечисление.

-или-

Параметру propagationFlagsпередано неверное перечисление.

Комментарии

Используйте этот конструктор для создания правила управления доступом, которое можно сохранить с помощью FileSecurity класса или DirectorySecurity . Правила управления доступом определяют права учетной записи пользователя, которые определяют, какие действия разрешены или запрещены на компьютерах под управлением Microsoft Windows.

Применяется к

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

Инициализирует новый экземпляр класса FileSystemAccessRule, используя имя учетной записи пользователя, значение, определяющее тип связанных с правилом доступа операций, значение, определяющее порядок наследования прав, значение, определяющее порядок распространения прав, а также признак разрешения или запрета этой операции.

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)

Параметры

identity
String

Имя учетной записи пользователя.

fileSystemRights
FileSystemRights

Одно из значений FileSystemRights, задающих тип операции, связанной с правилом доступа.

inheritanceFlags
InheritanceFlags

Одно из значений InheritanceFlags, определяющее порядок распространения масок доступа на дочерние объекты.

propagationFlags
PropagationFlags

Одно из значений PropagationFlags, определяющее порядок распространения элементов управления доступом на дочерние объекты.

type
AccessControlType

Одно из значений перечисления AccessControlType, которое определяет, запрещена или разрешена операция.

Исключения

Параметр identity имеет значение null.

Параметру typeпередано неверное перечисление.

-или-

Параметру inheritanceFlagsпередано неверное перечисление.

-или-

Параметру propagationFlagsпередано неверное перечисление.

Комментарии

Используйте этот конструктор для создания правила управления доступом, которое можно сохранить с помощью FileSecurity класса или DirectorySecurity . Правила управления доступом определяют права учетной записи пользователя, которые определяют, какие действия разрешены или запрещены на компьютерах под управлением Microsoft Windows.

Параметр identity должен идентифицировать действительную учетную запись на текущем компьютере или домене. Строка имеет следующий вид, где DOMAIN — это имя допустимого домена или компьютера, а account — имя допустимой учетной записи пользователя в домене или компьютере: DOMAIN\account.

Применяется к