.Net веб-сайт Создать каталог на удаленный доступ к серверу запрещен
-
01-10-2019 - |
Вопрос
У меня есть веб-приложение, которое создает каталоги. Приложение работает нормально при создании каталога на веб-сервере, однако он не работает, когда он пытается создать каталог на нашем удаленном файловом файле.
Файловыйсервер и веб-сервер находятся в том же домене. Я создал локальный пользователь в нашем домене, «Домен aspnet». Локальный пользователь на обоих серверах.
Я использую свой пул приложения .NET под пользователем домена. Я также пытался использовать Windows Femsonate в Web.config для запуска под пользователем домена.
Я проверил, что пользователь домена имеет полный элемент управления в удаленный каталог. В попытке отладить это, я также дал полный контроль «каждый» в удаленный каталог.
В попытке отладить это, я также добавил пользователя домена в группу администраторов.
У меня есть простая тестовая страница .NET на веб-сервере, чтобы проверить это. Через страницу теста я могу прочитать каталог на файловом сервере и получить список всего в нем.
Я не могу загружать файлы или создавать каталоги на файловом сервере.
Вот код, который работает:
var path = @"\\fileserver\images\";
var di = new DirectoryInfo(path);
foreach (var d in di.GetDirectories())
{
Response.Write(d.Name);
}
Вот код, который не работает:
path = Path.Combine(path, "NewDirectory");
Directory.CreateDirectory(path);
Вот ошибка, которую я получаю: доступ к пути « Fileserver Images newDirectory» отказано.
Я довольно застрял на этом. Есть идеи?
Решение 2
Проблема оказалась проблемой путем.
Fileserver Images было отображено на h: files http Images
У службы были разрешения на диск H, но не доля.
Другие советы
Проверьте уровень доверия сервера / сайта. Если вы работаете менее чем на полном доверии, вам может потребоваться изменить FileIOPermission
параметр:
<IPermission
class="FileIOPermission"
version="1"
Read="$AppDir$"
Write="$AppDir$"
Append="$AppDir$"
PathDiscovery="$AppDir$"/>
То $AppDir$
Макросчетное значение расширяется до папки. Ваш веб-сайт находится. Вы можете добавить дополнительные пути, разделяя их с полуобывающимисями.
Файл, который вам нужен для редактирования, будет указан на <trust level=.../>
Установка в мастере web.config
вспомогательный C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG
, предполагаю, что вы работаете .NET 2.0.