5

我有一个以提升的权限运行的管理应用程序,我需要它将一些敏感文件存储在只有系统管理员可以访问的目录中。

它可能与以下调用有关,但我不确定如何配置它。

Directory.CreateDirectory(@"C:\SomePath", new AccessControl.DirectorySecurity() { AccessRightType = ?, AccessRuleType = ?, AuditRuleType = ?);

如果有更好的方法来达到同样的效果,请告诉我。谢谢。

编辑:在这里找到了一个很好的实现。如果有任何其他建议,将把问题留一天。

4

1 回答 1

6

在这里找到了一个很好的解决方案。

FileSystemAccessRule administratorRule = new FileSystemAccessRule("Administrators", FileSystemRights.FullControl, InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, PropagationFlags.None, AccessControlType.Allow);

FileSystemAccessRule guestRule = new FileSystemAccessRule("Guest", FileSystemRights.CreateDirectories | FileSystemRights.CreateFiles, AccessControlType.Allow);

DirectorySecurity dirSec = new DirectorySecurity();
dirSec.AddAccessRule(administratorRule);
dirSec.AddAccessRule(guestRule);

Directory.CreateDirectory(@"C:\GuestTemp", dirSec);
于 2012-05-10T14:08:15.137 回答