c# - 创建新文件夹时如何复制安全信息?

标签 c# .net security filesystems

在我的应用程序中,我正在创建用于从硬盘归档旧内容的文件夹。

创建新文件夹时,我必须将所有 NTFS 权限(组/用户)从源文件夹复制到新创建的目标文件夹。

这是我到目前为止写的:

FileSecurity fileSecurity =
    File.GetAccessControl(filenameSource, AccessControlSections.All);
FileAttributes fileAttributes = File.GetAttributes(filenameSource);
File.SetAccessControl(filenameDest, fileSecurity);
File.SetAttributes(filenameDest, fileAttributes);

这真的是我应该做的全部吗?还是我错过了一些重要的事情?

最佳答案

如果这是一个文件夹,那么您可能需要检查 Directory.SetAccessControl()方法。您可能想调用 DirectorySecurity.SetAccessRuleProtection(isProtected/*true*/,preserveInheritance /*false*/)如果要阻止文件继承 ACL 规则,请在调用 Directory.SetAccessControl() 之前;

关于c# - 创建新文件夹时如何复制安全信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2722335/

相关文章:

c# - 如何将对象值转换为类型值?

apache - htaccess 拒绝访问文件,除非从服务器上的特定子文件夹访问

security - 没有通配符的子域的 SSL

c# - 在 MVC View 中显示存储过程的结果 (EF 5/MVC 4)

c# - 如何将对 System.Data.DataSetExtensions 的引用添加到网站 ascx.cs 文件?

c# - 转换和转换是一回事吗?

.net - 如何使用代码契约进行单元测试

c# - 在 C# 中使用 FileSystemWatcher 确定复制/写入进度

spring - 在 spring j_acegi_security_check 中停止接受 GET 请求

c# - 将应用程序的音频重新路由到另一个音频设备