C# 如何防止用户手动更改文件?
在WPF应用程序中,我使用.txt文件保存一些信息。应用程序可以从/to.txt文件读取和写入数据。一切正常,但问题是,为了达到这个目的,我必须授予应用程序用户对这些文件的写入访问权限,因此,他/她可以手动编辑这些文件 如何设置应用程序的编辑.txt文件访问权限,而不授予用户相同级别的权限 编辑(添加):C# 如何防止用户手动更改文件?,c#,.net,windows,authorization,C#,.net,Windows,Authorization,在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