2012-07-03 3 views
0

У меня есть веб-приложение, разработанное в ASP.net 4.0 и размещенное в IIS7 (ProdServer). На одной из страниц я создаю файл и сохраняю его в папке \ someOtherServer \ Storage \ .Доступ к пути «0» отклонен IIS 7

, когда я вхожу на рабочий сервер и запускаю hit и \ someOtherServer \ Storage \ Я могу просмотреть папку.

Когда я запускаю приложение ASP.net, я получаю сообщение об ошибке Доступ к пути «0» запрещен.

Сведения об исключении: System.UnauthorizedAccessException: доступ к пути «0» запрещен.

ASP.NET не имеет права доступа к запрашиваемому ресурсу. Рассмотрите возможность предоставления прав доступа ресурсу к идентификатору запроса ASP.NET. ASP.NET имеет базовый идентификатор процесса (обычно {MACHINE} \ ASPNET на IIS 5 или сетевую службу на IIS 6 и IIS 7 и настроенный идентификатор пула приложений в IIS 7.5), который используется, если приложение не выдаёт себя за изображение. Если приложение выдаст себя, идентификатор будет анонимным пользователем (обычно IUSR_MACHINENAME) или пользователем, прошедшим проверку подлинности.

Чтобы предоставить ASP.NET доступ к файлу, щелкните правой кнопкой мыши файл в Проводнике, выберите «Свойства» и выберите вкладку «Безопасность». Нажмите «Добавить», чтобы добавить соответствующего пользователя или группу. Выделите учетную запись ASP.NET и установите флажки для нужного доступа.

ответ

3

Вам нужно будет ознакомиться с идентификатором приложения, под которым работает ваш сайт ASP.net, и убедитесь, что у учетной записи есть разрешения для ресурса на другом сервере.

Для этого в IIS 7, выполните следующие действия:

  • менеджер Открыть IIS и перейдите на сайт, где это происходит.
  • Щелкните правой кнопкой мыши по сайту и выберите «Управление приложением» -> «Расширенные настройки».
  • В самой верхней настройке отображается имя пула приложений, в котором вы работаете. Скорее всего это DefaultAppPool, но это может быть что-то другое (желательно, это должно быть что-то еще).
  • Теперь отмените и щелкните узел «Пулы приложений» в диспетчере IIS и щелкните правой кнопкой мыши на пуле приложений, который вы видели выше, и выберите дополнительные параметры.
  • Посмотрите на настройку Identity в модели процесса - это может быть ApplicationPoolIdentity. Для доступа к ресурсу на другом компьютере вам придется запускать его либо как NetworkService, либо как учетную запись домена. Я предлагаю вам попробовать один, а затем другой. Учетная запись домена должна быть учетной записью службы, пароль которой не истекает (в противном случае каждый раз, когда она истекает, вам придется перепечатать ее здесь). Убедитесь, что учетная запись домена имеет доступ к общему ресурсу на удаленном сервере.

Надежды, которые помогают кому-то.

Смежные вопросы