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);
但我仍然可以更改权限。
任何帮助将不胜感激..提前非常感谢..:)
您无法阻止具有管理员权限的用户访问文件夹或文件。
如果用户没有管理员权限,则设置权限(通过管理员帐户)以拒绝用户访问。 正确配置的权限将阻止非管理员用户访问文件夹/文件。
您从未在原始帖子中说过将文件夹发送给其他人。 据推测,这种发送机制涉及电子邮件,ftp等到另一台计算机。 假设 #2 是您的 C# 程序将读取所述文件夹的内容。
在这种情况下,它很简单,为您的目录创建一个受密码保护的 zip 文件并发送它。 然后在 C# 代码中嵌入密码,打开 zip 文件并读取其内容。
有几个非常好的zip操作库,如dotnetzip和 #ziplib