如何设置对目录的完全控制?

时间:2010-05-09 15:28:36

标签: c# .net

我使用以下简单代码将完全控制添加到目录,但它不起作用。

        String dir_name = @"folder_full_path";
        DirectorySecurity dir_security = Directory.GetAccessControl(dir_name);
        FileSystemAccessRule access_rule = new FileSystemAccessRule(@"AccountName",
            FileSystemRights.FullControl, AccessControlType.Allow);
        dSecurity.AddAccessRule(access_rule);
        Directory.SetAccessControl(dir_name, dir_security);

但此代码仅将特殊权限设置为目标文件夹。此代码与MSDN sample几乎相同。我正在摸索着一个合理的解释......希望有人能对我有所了解。

非常感谢。

2 个答案:

答案 0 :(得分:13)

在对原始ACL规则进行一些逆向工程之后,我使用以下代码:

IdentityReference everybodyIdentity = new SecurityIdentifier(WellKnownSidType.WorldSid, null);

FileSystemAccessRule rule = new FileSystemAccessRule(
    everybodyIdentity,
    FileSystemRights.FullControl, 
    InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit,
    PropagationFlags.None,
    AccessControlType.Allow);

它可以帮助更多的访客:)

答案 1 :(得分:-4)

:)转身。

  • 制作目录。

  • 分配权限。

  • 读取DirectorySecurity ACL并检查调试器的外观;)

瞧。