当前位置:  开发笔记 > 编程语言 > 正文

在Vista上设置文件夹权限

如何解决《在Vista上设置文件夹权限》经验,为你挑选了1个好方法。

我试图在远景计算机上设置文件夹及其所有子项的权限.我到目前为止的代码是这样的.

 public static void SetPermissions(string dir)
        {
            DirectoryInfo info = new DirectoryInfo(dir);
            DirectorySecurity ds = info.GetAccessControl();            
            ds.AddAccessRule(new FileSystemAccessRule(@"BUILTIN\Users", 
                             FileSystemRights.FullControl, 
                             InheritanceFlags.ContainerInherit,
                             PropagationFlags.None, 
                             AccessControlType.Allow));

            info.SetAccessControl(ds);            
        }

然而,它并没有像我期望的那样工作.
即使我以管理员身份运行代码,它也不会设置权限.

我正在使用的文件夹位于C:\ ProgramData\<我的文件夹>,我可以手动更改它的权限.

任何人都想指出我正确的方向.



1> Erin..:

所以答案是双重的.首先在文件夹上设置权限之前创建一个子文件夹,然后我需要或者在权限的另一个标志上创建它,以便文件夹和文件都继承权限.

public static void SetPermissions(string dir)
        {
            DirectoryInfo info = new DirectoryInfo(dir);
            DirectorySecurity ds = info.GetAccessControl();            
            ds.AddAccessRule(new FileSystemAccessRule(@"BUILTIN\Users", 
                             FileSystemRights.FullControl,
                             InheritanceFlags.ObjectInherit |
                             InheritanceFlags.ContainerInherit,
                             PropagationFlags.None,
                             AccessControlType.Allow));
            info.SetAccessControl(ds);            
        }

之后,每件事似乎都有效.

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有