zoukankan      html  css  js  c++  java
  • c#中为文件夹设置权限

    <summary>
     2        /// 为创建的临时文件分配权限
     3        /// </summary>
     4        /// <param name="pathname"></param>
     5        /// <param name="username"></param>
     6        /// <param name="power"></param>
     7        /// <remarks>SKY 2007-8-6</remarks>
     8        public void addpathPower(string pathname, string username, string power)
     9        {
    10
    11            DirectoryInfo dirinfo = new DirectoryInfo(pathname);
    12
    13            if ((dirinfo.Attributes & FileAttributes.ReadOnly) != 0)
    14            {
    15                dirinfo.Attributes = FileAttributes.Normal;
    16            }

    17
    18            //取得访问控制列表
    19            DirectorySecurity dirsecurity = dirinfo.GetAccessControl();
    20
    21            switch (power)
    22            {
    23                case "FullControl":
    24                    dirsecurity.AddAccessRule(new FileSystemAccessRule(username, FileSystemRights.FullControl, InheritanceFlags.ContainerInherit, PropagationFlags.InheritOnly, AccessControlType.Allow));
    25                    break;
    26                case "ReadOnly":
    27                    dirsecurity.AddAccessRule(new FileSystemAccessRule(username, FileSystemRights.Read, AccessControlType.Allow));
    28                    break;
    29                case "Write":
    30                    dirsecurity.AddAccessRule(new FileSystemAccessRule(username, FileSystemRights.Write, AccessControlType.Allow));
    31                    break;
    32                case "Modify":
    33                    dirsecurity.AddAccessRule(new FileSystemAccessRule(username, FileSystemRights.Modify, AccessControlType.Allow));
    34                    break;
    35            }

    36        }

    DirectoryInfo是需要实例化的,而且实例化的时候必须指定文件夹路径,Directory则是静态类.

    主程序中调用的写法:
    1private void CreateDirectory()
    2{
    3   
    4   addpathPower(sPath, "ASPNET""FullControl");
    5   
    6}
       一般来说 Username 选用 ASPNET
  • 相关阅读:
    .NET 6.0 —— 网络监视器 (TODO)
    Google adwords api —— report & AWQL
    Linux 镜像更新 为国内镜像源 for debian
    优化代码 —— 二八法则 & 编完代码,再优化
    鳥哥的 Linux 私房菜 ——— 第十八章、 服务的防火墙管理 xinetd, TCP Wrappers(3)
    端口号port 是什么
    aptget的install、update、upgrade的区别(转发)
    Google ads api —— github
    .net 6.00 —— record 类型 (TODO)
    Compiled models —— .NET Core 6.0
  • 原文地址:https://www.cnblogs.com/hyd309/p/1300013.html
Copyright © 2011-2022 走看看