Назад | Перейти на главную страницу

Продолжающиеся проблемы с разрешениями - ASP.net, IIS 7, Server 2008 - ошибка 0x80070005 (http 500.19)

Я создал веб-приложение, разработанное ASP.net MVC, и пытаюсь настроить IIS.

Ошибка: ошибка HTTP 500.19, код ошибки 0x80070005, не удается прочитать файл конфигурации из-за недостаточных разрешений, файл конфигурации: C: \ inetpub \ wwwroot \ BudgetManagerMain \ BudgetManager \ web.config

Если я настрою AppPool на использование «администратора», у меня не будет проблем, и я могу получить доступ к сайту нормально. Если я установил СЕТЕВОЙ СЕРВИС (или что-то еще, включая самостоятельно созданные учетные записи администратора или пользователя без прав администратора), я получаю указанную выше ошибку.

Вещи, которые я пробовал:

  1. идентификатор для пула приложений с именем 'test' - 'NetworkService'
  2. Установите права полного доступа для wwwroot и всех дочерних файлов / папок
  3. проверенные действующие разрешения, и СЕТЕВОЙ СЕРВИС имеет полный доступ.
  4. Аутентификация на моем сайте настроена на анонимность и выполняется под удостоверением пула приложений.
  5. У меня нет учетных данных для физического пути, установленных на веб-сайте
  6. подтвержденный веб-сайт настроен для работы в пуле приложений с именем 'test'

используя Process Monitor, вот краткое изложение того, что я обнаружил в событии ACCESS DENIED

ВКЛАДКА СОБЫТИЙ:

  1. Класс: Файловая система
  2. Операция: CreateFile
  3. Результат: отказано в доступе
  4. Путь: .. \ web.config

  1. Желаемый доступ: обычное чтение
  2. Диспозиция: Открытая
  3. Опции: Sybnchronous IO Non-Alert, Non-Directory file
  4. Атрибуты: N
  5. ShareMode: читать
  6. AllocaitonSize: н / д

ВКЛАДКА ПРОЦЕСС

... много всего, что кажется неуместным

Пользователь: NT AUTHORITY \ NETWORK SERVICE

Простейшая интерпретация ошибки: IIS обнаружил папку с именем

C:\inetpub\wwwroot\BudgetManagerMain\BudgetManager

и попытался прочитать web.config файл из этого места, но Учетная запись пула приложений не смог прочитать файл web.config в этой папке.

Вероятно, это произойдет из-за разрешений NTFS, которые не позволяют учетной записи сетевой службы (вы отметили выше) получить доступ к этой папке.

Учетной записи пула приложений требуется доступ на чтение ко всем папкам и файлам web.config на веб-сайте.

Вы можете попробовать удалить соответствующую папку из папки временных файлов ASP.NET (C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files в XP). Может там какое-то кеширование происходит?