на работе Я немного борюсь со следующей ситуацией:
У нас есть веб-приложение, которое работает на 64-битной машине WIndows Server 2008. ApplicationPool приложения работает под ApplicationPoolIdentity и настроено для .net 2 и классического конвейерного режима.
Это прекрасно работает до того момента, когда XmlSerialization требует создания сборок Serializer, где MEF используется для создания коллекции типов знаний.
Чтобы исправить это, я надеялся, что предоставления прав ApplicationPoolIdentity каталогу временных файлов ASP.Net будет достаточно, но, увы ...
Я выполнил следующую команду из командной строки:
icacls "c:\windows\microsoft.net\framework64\v2.0.50727\Temporary ASP.NET Files" /grant "IIS AppPool\MyAppPool":(M)
Очевидно, это не сработало, иначе вы бы не читали это:)
Странно то, что всякий раз, когда я предоставляю пользователям или, более конкретно, группе аутентифицированных пользователей эти разрешения, это работает. Также странно (на мой взгляд) то, что до того, как я начал предоставлять доступ, ApplicationPoolIdentity уже был членом IIS_IUSRS, у которого есть права на изменение каталога временных файлов asp.
А теперь мне интересно, почему в этой ситуации требуются права на изменение для группы «Прошедшие проверку». Я подумал, что это может быть из-за того, что в учетной записи apppool отсутствовали дополнительные права (поиск в Google дал некоторые результаты, поэтому я попробовал их), но предоставление прав на изменение ApplicationPoolIdentity для каталога Windows \ Temp и / или самого каталога приложения не помогло исправить это. .
Пока у нас есть обходной путь, но я ненавижу, что не знаю, что именно здесь происходит, поэтому я надеялся, что кто-нибудь из вас, ребята, сможет пролить свет на это.
Спасибо заранее!