Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何防止用户手动更改文件?_C#_.net_Windows_Authorization - Fatal编程技术网

C# 如何防止用户手动更改文件?

C# 如何防止用户手动更改文件?,c#,.net,windows,authorization,C#,.net,Windows,Authorization,在WPF应用程序中,我使用.txt文件保存一些信息。应用程序可以从/to.txt文件读取和写入数据。一切正常,但问题是,为了达到这个目的,我必须授予应用程序用户对这些文件的写入访问权限,因此,他/她可以手动编辑这些文件 如何设置应用程序的编辑.txt文件访问权限,而不授予用户相同级别的权限 编辑(添加): 在得到一些评论和答案后,我这样问(只是为了让我的问题更清楚,不局限于用户访问权限范围):我如何防止用户手动更改文件?我假设您没有试图阻止用户手动更改文件,您只想避免为文件专门分配权限的额外步骤

在WPF应用程序中,我使用.txt文件保存一些信息。应用程序可以从/to.txt文件读取和写入数据。一切正常,但问题是,为了达到这个目的,我必须授予应用程序用户对这些文件的写入访问权限,因此,他/她可以手动编辑这些文件

如何设置应用程序的编辑.txt文件访问权限,而不授予用户相同级别的权限

编辑(添加):


在得到一些评论和答案后,我这样问(只是为了让我的问题更清楚,不局限于用户访问权限范围):我如何防止用户手动更改文件?

我假设您没有试图阻止用户手动更改文件,您只想避免为文件专门分配权限的额外步骤

您很可能正在写入受保护区域(UAC引入后受保护的区域)中的文件。要避免这种情况,请将文件写入“已批准”区域之一,例如%APPDATA%。下面列出了其他一些(假设C是您的引导驱动器):


有一大堆你可以从中挑选的信息。

加密它,或数字签名它

这可能有些过分,但你可以创建一个在不同用户帐户上运行的服务,可以编辑文件。然后您的应用程序将使用该服务访问该文件


这样可以防止不必要的更改和/或记录对文件的每次更改

事实上,我的意思正好相反:如何防止用户手动更改文件?对不起我的英语。谢谢你提供的信息,这是有用的,不过。+1+1-这正是我在编辑完作品后应该说的。是的,我考虑过加密。但我只是想知道,是否还有其他方法+1谢谢!用户可能不知道他们在加密文件中编辑的是什么,但他们同样可以破坏它。通过签名可以检测损坏。将用户无法直接访问的内容保存在数据库中可能会达到预期目的。
C:\Users\username\Documents
C:\Users\username\AppData\Local
C:\Users\username\AppData\Roaming
C:\Users\Public\Documents
C:\ProgramData