Exemplo n.º 1
0
    public static void SetDirDacl(string folder, string account)
    {
        try
        {
            DaclUtil.CleanDirSecurity(folder);
        }
        catch
        {
        }
        DirectoryInfo        directoryInfo = new DirectoryInfo(folder);
        DirectorySecurity    accessControl = directoryInfo.GetAccessControl();
        FileSystemAccessRule rule          = new FileSystemAccessRule(account, FileSystemRights.FullControl, InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, PropagationFlags.None, AccessControlType.Allow);

        accessControl.SetAccessRule(rule);
        DirectorySecurity directorySecurity = accessControl;

        directoryInfo.SetAccessControl(directorySecurity);
    }
Exemplo n.º 2
0
    public static void SetFileDacl(string file, string account)
    {
        try
        {
            DaclUtil.CleanFileSecurity(file);
        }
        catch
        {
        }
        FileInfo             fileInfo      = new FileInfo(file);
        FileSecurity         accessControl = fileInfo.GetAccessControl();
        FileSystemAccessRule rule          = new FileSystemAccessRule(account, FileSystemRights.FullControl, AccessControlType.Allow);

        accessControl.AddAccessRule(rule);
        FileSecurity fileSecurity = accessControl;

        fileInfo.SetAccessControl(fileSecurity);
    }