Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为具有ACL的用户将文件夹设为只读_C#_Security_Acl - Fatal编程技术网

C# 为具有ACL的用户将文件夹设为只读

C# 为具有ACL的用户将文件夹设为只读,c#,security,acl,C#,Security,Acl,我想为特定用户设置一个只读文件夹,他不应该能够编辑或删除它,我尝试了下面的代码,但它不起作用,我需要对它做什么更改 try { string folderPath = textBox1.Text; string username = comboBox1.SelectedItem.ToString(); DirectorySecurity ds = Directory.GetAccessControl(folderPath); FileSystemAcc

我想为特定用户设置一个只读文件夹,他不应该能够编辑或删除它,我尝试了下面的代码,但它不起作用,我需要对它做什么更改

 try
 {
     string folderPath = textBox1.Text;
     string username = comboBox1.SelectedItem.ToString();
     DirectorySecurity ds = Directory.GetAccessControl(folderPath);
     FileSystemAccessRule fsa =
         new FileSystemAccessRule(username,
                                  FileSystemRights.ReadAndExecute,
                                  AccessControlType.Allow);
     ds.AddAccessRule(fsa);
     Directory.SetAccessControl(folderPath, ds);
     MessageBox.Show("ReadOnly");
 }
 catch (Exception ex)
 {
     MessageBox.Show(ex.Message);
 }

用户可能通过组成员身份(如
Everyone
)继承文件夹的其他权限,因此设置允许规则只允许他做一些他已经可以做的事情

例如:

- Root [Allow: read/write (Everyone)] - ParentFolder [Allow: read/write (Everyone) - inherited from Root] - RestrictedFolder [Allow: read/write (Everyone) - inherited from Root] [Allow: read (Restricted User) - this has no effect!] 之后,层次结构如下所示:

- Root [Allow: read/write (Everyone)] - ParentFolder [Allow: read/write (Everyone) - inherited from Root] - RestrictedFolder [Deny: write (Restricted User) - This overrides the inherited permission] [Allow: read/write (Everyone) - inherited from Root] - Root [Allow: read/write (Everyone)] - ParentFolder [Deny: delete subfolders and files (Restricted User)] [Allow: read/write (Everyone) - inherited from Root] - RestrictedFolder [Deny: write (Restricted User) - This overrides the inherited permission] [Allow: read/write (Everyone) - inherited from Root]
用户可能通过组成员身份(如
Everyone
)继承文件夹的其他权限,因此设置允许规则只允许他做一些他已经可以做的事情

例如:

- Root [Allow: read/write (Everyone)] - ParentFolder [Allow: read/write (Everyone) - inherited from Root] - RestrictedFolder [Allow: read/write (Everyone) - inherited from Root] [Allow: read (Restricted User) - this has no effect!] 之后,层次结构如下所示:

- Root [Allow: read/write (Everyone)] - ParentFolder [Allow: read/write (Everyone) - inherited from Root] - RestrictedFolder [Deny: write (Restricted User) - This overrides the inherited permission] [Allow: read/write (Everyone) - inherited from Root] - Root [Allow: read/write (Everyone)] - ParentFolder [Deny: delete subfolders and files (Restricted User)] [Allow: read/write (Everyone) - inherited from Root] - RestrictedFolder [Deny: write (Restricted User) - This overrides the inherited permission] [Allow: read/write (Everyone) - inherited from Root]
签出后,你能告诉我在哪里需要更改吗?签出后,你能告诉我在哪里需要更改吗?