首页 > 解决方案 > UWP 应用程序仅访问用户计算机上的特定文件夹

问题描述

在清单文件中声明App Capability,我们可以让我们的UWP应用访问某些文件夹,例如图片、视频、音乐等。

此外,该broadFileSystemAccess功能允许应用程序获得与当前运行应用程序的用户相同的文件系统访问权限,而在运行时无需任何额外的文件选择器样式提示。

但是,即使用户可以访问他/她的整个系统,但希望UWP应用程序仅访问应用程序所需的特定文件夹,该怎么办read access。我们可以在不使用文件选择器的情况下在 UWP 应用中实现这样的功能吗?

为什么我需要它?:我们的应用程序从一个太大而无法包含在应用程序中的文件夹中读取文件,并且其中包含大量各种类型的文件。只需要读取权限。

标签: c#uwp

解决方案


我将尝试为您提供为什么您的请求发生冲突并因此未在系统级别实现的逻辑。

沙盒意味着应用程序只能访问自己的文件夹。从系统方面来看,该规则的唯一例外可能是某些文件夹不被视为安全关键(如图片、音乐、下载),您可以声明对这些文件夹的访问权限。第二个例外是用户是否允许您访问该文件夹。在这两种情况下,沙盒都没有被破坏,因为沙盒的扩展不是任意的。只要您任意想要扩展沙箱,访问整个系统和随机选择的少数文件夹在安全性上没有区别。我不确定您如何看待其中的区别-在这两种情况下,只要您可以访问整个磁盘,您就可以任意选择访问某些文件夹声明然后你会通过声明来做到这一点。但效果是一样的——您的应用程序可以任意访问磁盘的不安全部分,这仅取决于您的偏好。


推荐阅读