2

我有一个要保护其内容的文件夹,我拒绝通过以下代码对其进行完全控制:

void changeFolderPermission(string folder, FileSystemRights rights, AccessControlType type)
{
  DirectoryInfo myDirInfo = new DirectoryInfo(folder);
  DirectorySecurity myDirSecurity = myDirInfo.GetAccessControl();
  string user = System.Environment.UserName;
  myDirSecurity.ResetAccessRule(new FileSystemAccessRule(user, rights, type));
  myDirInfo.SetAccessControl(myDirSecurity);
}

我这样使用它:

changeFolderPermission(FolderName, FileSystemRights.FullControl, AccessControlType.Deny);

它工作正常,我的意思是,当我尝试打开文件夹时,它不会让我打开。问题是,我可以通过右键单击文件夹,进入安全性,查找该特殊权限并删除它来轻松删除该权限..

有没有办法阻止某人这样做?我希望文件夹得到完全保护。

现在我知道有这样的事情:

hangeFolderPermission(FolderName, FileSystemRights.ChangePermissions, AccessControlType.Deny);

但我仍然可以更改权限。

任何帮助将不胜感激..thanx提前很多.. :)

4

2 回答 2

4

您不能阻止具有管理员权限的用户访问文件夹或文件。

如果用户没有管理员权限,则设置权限(通过管理员帐户)以拒绝用户访问。正确配置的权限将阻止非管理员用户访问文件夹/文件。

于 2012-08-07T22:35:40.200 回答
3

您在原始帖子中从未说过将文件夹发送给其他人。大概这种发送机制涉及到另一台计算机的电子邮件、ftp 等。假设 #2 是您的 C# 程序将读取所述文件夹的内容。

在这种情况下,它很简单,为您的目录创建一个受密码保护的 zip 文件并将其发送。然后将密码嵌入到您的 C# 代码中并打开 zip 文件并读取其内容。

有几个非常好的 zip 操作库,例如 dotnetzip 和#ziplib

于 2012-08-07T23:54:23.377 回答