Nano Hash - криптовалюты, майнинг, программирование

Приложение UWP для доступа только к определенной папке на компьютере пользователя

Объявление возможностей приложения в файле манифеста, мы можем сделать так, чтобы наше UWP приложение получало доступ к определенным папкам, таким как «Изображения», «Видео», «Музыка» и т. д.

Кроме того, возможность broadFileSystemAccess позволяет приложениям получать тот же доступ к файловой системе, что и пользователю, который в настоящее время запускает приложение, без каких-либо дополнительных запросов стиля выбора файлов во время выполнения.

Но как насчет того, даже если пользователь имеет доступ ко всей своей системе, но хочет, чтобы UWP приложение получало доступ только к определенной папке, необходимой для того, чтобы приложение имело read access. Можем ли мы реализовать такую ​​функциональность в приложении UWP без использования средства выбора файлов?

Зачем мне это нужно? Требуется только доступ для чтения.

29.05.2019


Ответы:


1

Но как насчет того, даже если пользователь имеет доступ ко всей своей системе, но хочет, чтобы приложение UWP получало доступ только к определенной папке, необходимой для того, чтобы приложение имело доступ для чтения.

Вы не можете создать эту папку, которая имеет доступ только для чтения для текущего пользователя. А атрибут папки контролируется на системном уровне. Вы могли только создать папку и установить атрибут только для чтения для другого пользователя. И этого достичь не удалось ( System.IO.File.SetAttributes) на платформе uwp.

Да, папка предназначена для скачивания. Но я не уверен, может ли приложение UWP иметь всю папку (особенно большую папку данных), загруженную внутри нее, чтобы ее код читал ее.

При необходимости вы можете сохранить загружаемый файл в LocalFolder своего приложения, и здесь нет общих ограничений по размеру на хранимых локальных данных. И доступ к нему возможен только для текущего приложения.

var localFolder = Windows.Storage.ApplicationData.Current.LocalFolder;

Конечно, вы также можете хранить большие данные в папке _4 _ папку. Для получения дополнительной информации обратитесь к документ.

30.05.2019
  • Как мы можем заставить пользователя скопировать загруженную папку в LocalFolder? Предположим, пользователь загрузил папку, скажем, SomeFolder, которую приложение UWP требует для чтения. Теперь я хочу, чтобы пользователь скопировал эту папку в LocalFolder. Как такое может случиться - не могли бы вы объяснить или привести пример? 31.05.2019
  • Если вы хотите скопировать файл в локальную папку, обратитесь к StorageFile.CopyAsync метод. 03.06.2019

  • 2

    Я постараюсь объяснить вам, почему ваш запрос является конфликтным и поэтому не реализован на системном уровне.

    Песочница означает, что приложение имеет доступ только к своим папкам. С системной точки зрения единственным исключением из этого правила может быть то, что некоторые папки не считаются критическими для безопасности (например, Изображения, Музыка, Загрузки), и вы можете объявить доступ к этим папкам. Второе исключение - если пользователь предоставляет вам доступ к папке. В обоих случаях песочница не нарушается, потому что расширение песочницы не является произвольным. Как только вы произвольно захотите расширить песочницу, нет никакой разницы в безопасности между доступом ко всей системе и нескольким папкам, которые вы выбираете случайным образом. Я не уверен, как вы видите разницу в этом - в обоих случаях вы произвольно выбираете доступ к некоторым папкам, только если у вас есть доступ ко всему диску, вы делаете это из кода, в то время как если бы была какая-то возможность сделать это через некоторые декларация, тогда вы сделаете это через декларацию. Но эффекты те же - ваше приложение имеет произвольный доступ к небезопасным частям диска, который зависит только от ваших предпочтений.

    30.05.2019
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..