Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.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#_Access Control - Fatal编程技术网

C# 拒绝访问应用程序外部的文档

C# 拒绝访问应用程序外部的文档,c#,access-control,C#,Access Control,我正在开发一个应用程序,它保存文档存储库,并提供从中进行搜索。我想阻止用户在应用程序之外查看/添加/修改/删除文档。目前,我将文档存储在windows中的普通文件夹结构中,任何授权的windows用户都可以轻松访问该文件夹结构。我正在寻找一些方法,使用这些方法,我可以确保只有我的应用程序才能访问这些文档 是否有任何可用的库或技术可用于对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(动态访问控制)的两个功能

以下是几篇值得一读的文章:

使用动态访问控制,您可以根据分类和用户声明定义哪些用户查看/编辑哪些文件和文件夹