Почему я не могу получить IIS ApplicationPoolIdentity для записи файла в папку? - PullRequest
0 голосов
/ 05 декабря 2018

Моему приложению ASP-Webpages необходимо записать самостоятельно созданные файлы в локальную папку в своем корневом каталоге.Все работает как в моей среде разработки, так и в любой другой сети.Проблема в том, что я не могу заставить производственную среду делать то же самое.Просто файлы не создаются нигде.Не допускается никаких исключений в отношении пропущенных разрешений и т. Д. Нада.

Я полагаю, что я прочитал и опробовал практически все, что кто-либо написал в Интернете за последние семь лет, и мне кажется, что я преследую своюСобственный позади, пытаясь решить эту проблему.Должно ли это быть действительно так сложно?Риск быть отмеченным как дубликат я не вижу другого варианта, кроме как опубликовать мой вопрос здесь ..

По сути, вот что у меня так далеко:

Производственное приложение работает на Windows Server2008 R2, IIS версия 7.5.Он имеет выделенный пул приложений с идентификатором ApplicationPoolIdentity (.NET Framework v4 / интегрированный конвейер). Основные настройки приложения

Проверенное членство в AppPool IIS_IUSRS. Подтвержденное членство в группе

Аутентификация пользователя установлена ​​на Аутентификацию Windows. Аутентификация пользователя

Следует ли установить для параметра Анонимная аутентификация значение «Включено», чтобы использовать ApplicationPoolIdentity?Я попытался установить его, но он конфликтует с аутентификацией Windows, которая является неотъемлемой частью нашего приложения и не может быть отключена.Если да, то как?

И пулу приложений, и IIS_IUSRS были предоставлены разрешения на чтение и запись для папки.Я пытался установить Полный контроль, но это тоже не помогло. Настройки безопасности папки

Вот (урезанный) код, который записывает файлы в нужное место: Ускоренный код

Другое (глупые вещи, которые я пробовал:

  • Игра с абсолютными и относительными направлениями пути в моем коде.
  • Включение анонимной аутентификации, что приводит к конфликту с необходимой аутентификацией Windows.
  • Установите для идентификатора ProcessModel пула приложений значение Сетевая служба.
  • Перезапустите пул приложений.
  • Загрузите профиль пользователя 'Вкл' для пула приложений.
  • Настройка IEКонфигурация усиленной безопасности «Выкл.» Для пользователей.
  • Перезагрузка серверного компьютера.
  • Использование различных браузеров.
  • Предоставление полных прав доступа для всех папок, просто чтобы попробовать эффекты, ничего..
  • Установите для AuthenticatedUserOverride значение UseWorkerProcessUser через Редактор конфигурации IIS.Это приводит к тому, что мое приложение больше не распознает Current.User.Identity.Name, поэтому оно блокирует дальнейший доступ к сайту.

Мне нужно сохранить аутентификацию Windows, но также иметь возможность иметьприложение анонимно записывает файлы в указанное место.

Кто-нибудь может подсказать мне в правильном направлении или просто сказать мне, что я упустил?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...