C#,如何防止用户更改文件夹权限

本文关键字:文件夹 权限 用户 何防止 | 更新日期: 2024-10-30 07:22:17

我有一个文件夹,我想保护它的内容,我拒绝通过以下代码完全控制它:

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);

但我仍然可以更改权限。

任何帮助将不胜感激..提前非常感谢..:)

C#,如何防止用户更改文件夹权限

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

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

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

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

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