ASP.NET Core 2.0 Доступ к локальной папке только на стороне сервера без доступа к сети - PullRequest
0 голосов
/ 04 марта 2019

Я ходил по домам на этом и теперь не вижу дерева для деревьев, поэтому хотел узнать мнение о лучшем способе достижения без ущерба для безопасности.

У нас есть некоторые статическиефайлы, хранящиеся в локальной папке на веб-сервере (например, в настоящее время c:\staticfiles), и для нашего приложения ASP.Net Core 2.0 требуется возможность доступа к ним, но только со стороны сервера.Я не хочу размещать их под www (или где-либо еще видимым снаружи), так как это сделает их общедоступными.

С нашими текущими настройками мы получаем исключение "Access to the path is denied" с серверакод стороны, несмотря на разрешения, которые мы применили (даже «Все» в качестве теста) к папке c:\staticfiles.

Буду очень признателен за мысли.Спасибо.

1 Ответ

0 голосов
/ 04 марта 2019

Для этого в среде ASP.NET был вызов «Server.MapPath», который использовался для сопоставления с файлами в файловой системе.В ядре .net этот API не может быть использован.

В ядре .net есть две концепции

  • Корень контента, для двоичных и личных файлов
  • веб-корень, это для публичных файлов, которые должны бытьпредоставляется через URL.

По умолчанию оба эти расположения указывают на одну и ту же папку.

Вы можете изменить местоположение корневого или веб-содержимого содержимого с помощью IHostingEnvironment интерфейс ИЛИ файл hosting.json .

Ссылки являются встроенными, если вам нужны ссылки.

Переполнение стека должно помочь вам понять схему hosting.json .

Надеюсь, это поможет.

...