C# 拒绝访问应用程序外部的文档
我正在开发一个应用程序,它保存文档存储库,并提供从中进行搜索。我想阻止用户在应用程序之外查看/添加/修改/删除文档。目前,我将文档存储在windows中的普通文件夹结构中,任何授权的windows用户都可以轻松访问该文件夹结构。我正在寻找一些方法,使用这些方法,我可以确保只有我的应用程序才能访问这些文档C# 拒绝访问应用程序外部的文档,c#,access-control,C#,Access Control,我正在开发一个应用程序,它保存文档存储库,并提供从中进行搜索。我想阻止用户在应用程序之外查看/添加/修改/删除文档。目前,我将文档存储在windows中的普通文件夹结构中,任何授权的windows用户都可以轻松访问该文件夹结构。我正在寻找一些方法,使用这些方法,我可以确保只有我的应用程序才能访问这些文档 是否有任何可用的库或技术可用于对windows用户隐藏这些文件,但我的应用程序可以正常使用?如果您必须在windows中保存文档,并希望限制用户,请尝试使用密码以加密形式保存它们。因此,即使有人
是否有任何可用的库或技术可用于对windows用户隐藏这些文件,但我的应用程序可以正常使用?如果您必须在windows中保存文档,并希望限制用户,请尝试使用密码以加密形式保存它们。因此,即使有人可以使用它,它对他来说也是无用的。这对加密应该有用
using (var fileStream = File.OpenWrite(theFileName))
using (var memoryStream = new MemoryStream())
{
// Serialize to memory instead of to file
var formatter = new BinaryFormatter();
formatter.Serialize(memoryStream, customer);
// This resets the memory stream position for the following read operation
memoryStream.Seek(0, SeekOrigin.Begin);
// Get the bytes
var bytes = new byte[memoryStream.Length];
memoryStream.Read(bytes, 0, (int)memoryStream.Length);
var encryptedBytes = yourCrypto.Encrypt(bytes);
fileStream.Write(encryptedBytes, 0, encryptedBytes.Length);
}
您可以将其用于密码保护和压缩如果您使用的是Windows Server 2012,您可以使用Windows Server 2012动态访问控制,它提供了称为SDDL(安全描述符定义语言)和DACL(动态访问控制)的两个功能 以下是几篇值得一读的文章: