Я создал простое веб-приложение, которое перечисляет все файлы или определенный тип в определенной папке и отображает их как серию LinkButtons в элементе управления ListView - когда пользователь нажимает на LinkButton, соответствующий файл передается пользователю в потоковом режиме. . Я делал это десятки раз в ASP Classic, но это новая версия ASP.NET.
Когда я запускаю это на своей машине разработки, он работает нормально, но теперь я настроил его на реальном сервере, у меня возникли проблемы:
«Доступ запрещен к 'X: \ mydir \'. Не удалось начать мониторинг изменений файла»
Приложение настроено (в настоящее время) для использования анонимной аутентификации, но в конечном итоге оно будет использовать аутентификацию Windows.
Посмотрев на ситуацию с разрешениями, я могу подтвердить, что пользователь ASPNET и пользователи IUSR_ServerName имеют разрешения для родительского элемента приложения (и всего, что находится ниже).
Хост-сервер - Windows Server 2003 R2.
Любые идеи?
Мне удалось исправить проблему - хотя, учитывая все попытки, которые я проделал, трудно сказать, какие шаги составляли исправление.
Похоже, что проблема возникла из-за Сетевая служба (идентификатор, используемый в пуле приложений по умолчанию) не имея достаточных разрешений на каждый уровень в иерархии папок.
Я просто дал учетной записи разрешения на чтение и выполнение для папки верхнего уровня на диске, и эти разрешения были унаследованы вниз по дереву папок, в каталог приложения и далее.
В Windows Server 2012 мне нужно было добавить права доступа к папке для \ Users
Были предоставлены следующие разрешения: