c# - UWP 应用程序仅访问用户计算机上的特定文件夹
问题描述
在清单文件中声明App Capability,我们可以让我们的UWP
应用访问某些文件夹,例如图片、视频、音乐等。
此外,该broadFileSystemAccess
功能允许应用程序获得与当前运行应用程序的用户相同的文件系统访问权限,而在运行时无需任何额外的文件选择器样式提示。
但是,即使用户可以访问他/她的整个系统,但希望UWP
应用程序仅访问应用程序所需的特定文件夹,该怎么办read access
。我们可以在不使用文件选择器的情况下在 UWP 应用中实现这样的功能吗?
为什么我需要它?:我们的应用程序从一个太大而无法包含在应用程序中的文件夹中读取文件,并且其中包含大量各种类型的文件。只需要读取权限。
解决方案
我将尝试为您提供为什么您的请求发生冲突并因此未在系统级别实现的逻辑。
沙盒意味着应用程序只能访问自己的文件夹。从系统方面来看,该规则的唯一例外可能是某些文件夹不被视为安全关键(如图片、音乐、下载),您可以声明对这些文件夹的访问权限。第二个例外是用户是否允许您访问该文件夹。在这两种情况下,沙盒都没有被破坏,因为沙盒的扩展不是任意的。只要您任意想要扩展沙箱,访问整个系统和随机选择的少数文件夹在安全性上没有区别。我不确定您如何看待其中的区别-在这两种情况下,只要您可以访问整个磁盘,您就可以任意选择访问某些文件夹声明然后你会通过声明来做到这一点。但效果是一样的——您的应用程序可以任意访问磁盘的不安全部分,这仅取决于您的偏好。
推荐阅读
- gradle - 使用 Maven BOM 文件时下载依赖项
- python - 如何将整数列表转换为图像?
- docker - docker 无法运行已经存在的 go 输出文件
- debugging - 将java源代码导入netbeans
- powershell - 以时间间隔在隐藏的 Internet Explorer 中打开束 URL
- c++ - Boost:列出GraphML中指定的顶点和边属性
- google-apps-script - 谷歌脚本,如何创建一个脚本来根据他们的 id 链接多个电子表格?
- corda - 为什么我在启动 Corda 节点时收到 Liquibase 校验和验证错误
- apache - 将子域重定向到外部站点的 CNAME 规则不起作用
- sql - SQLite 有时会忽略列的值