Я пытаюсь использовать API управления IIS 7, но застрял с проблемой безопасности.Мое приложение - обычный сайт ASP.NET, работающий на .NET 4 (интегрированный конвейер).На компьютере установлена Windows 7 x64 (пул приложений по умолчанию, работает под ApplicationPoolIdentity, x64).Сайт использует следующие параметры:
<identity impersonate="true" />
<authentication mode="Windows" />
<customErrors mode="Off" />
<authorization>
<deny users="?" />
</authorization>
Мой сайт пытается прочитать информацию о других сайтах через API управления IIS (на локальном хосте).Я вошел в систему как член локальных администраторов.В IE я пытаюсь открыть свою страницу, но получаю это:
Site 'mysite' at 'myhost' is unknown.System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
at Microsoft.Web.Administration.Interop.IAppHostProperty.get_Value()
at Microsoft.Web.Administration.ConfigurationElement.GetPropertyValue(IAppHostProperty property)
at Microsoft.Web.Administration.Site.get_State()
Я не понимаю, почему.Я чертовски уверен, что код работает в контексте олицетворения моей учетной записи (могу видеть, что это отладчик наблюдает System.Threading.Thread.CurrentPrincipal
).Что я делаю не так?
ps
UAC включен, но я считаю, что это не важно.Проверены разрешения NTFS для папки C: \ Windows \ system32 \ inetsrv \ config - полный доступ для администраторов.