我在创建具有特定权限的目录时遇到了问题。
//Make sure Tools directory exists
DirectoryInfo oMyDirectoryInfo = new DirectoryInfo(oInstance.szToolsPath);
if (!oMyDirectoryInfo.Exists)
{
oMyDirectoryInfo.Create();
DirectorySecurity oDirectorySecurity = oMyDirectoryInfo.GetAccessControl();
oDirectorySecurity.AddAccessRule(new FileSystemAccessRule((Settings.Default.LoginDomain + "\\" + Settings.Default.LoginUsername), FileSystemRights.FullControl, InheritanceFlags.ContainerInherit, PropagationFlags.InheritOnly, AccessControlType.Allow));
oMyDirectoryInfo.SetAccessControl(oDirectorySecurity);
}
现在这个操作创建了一个目录,我可以看到Login已被添加到安全选项卡中。但是当我模拟该登录并尝试将文件复制到该目录时,会出现未经授权的异常。我可以创建一个空文件夹,但是我不能向文件写入数据(虽然我设置了FullControl :/)。
我进一步查看了Windows的权限设置,发现它适用于子文件夹,但我想将其设置为适用于文件。我该如何通过代码实现这一点?
这是在Windows 7上进行的操作。