FileSystemAccessRule 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化 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 值之一,该值指定如何将访问控制项(ACE)传播到子对象。
- 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 值之一,该值指定如何将访问控制项(ACE)传播到子对象。
- type
- AccessControlType
指定 AccessControlType 是允许还是拒绝操作的值之一。
例外
参数 identity 为 null.
向参数传递了 type 不正确的枚举。
-或-
向参数传递了 inheritanceFlags 不正确的枚举。
-或-
向参数传递了 propagationFlags 不正确的枚举。
注解
使用此构造函数创建可以使用或FileSecurity类持久保存的DirectorySecurity访问控制规则。 访问控制规则定义用户帐户权限,用于确定在运行Microsoft Windows的计算机上允许或禁止哪些操作。
该 identity 参数必须标识当前计算机或域中的有效帐户。 该字符串采用以下形式,其中DOMAIN有效域或计算机名称的名称是account域或计算机上的有效用户帐户的名称: DOMAIN\account