Я создаю веб-сайт в IIS 7.5 (с Windows 7), который должен иметь возможность создавать дополнительные веб-сайты. Я написал код, который использует Microsoft.Web.Administration, чтобы создать сайт программно, и это отлично работает, когда я запускаю его как администратора.Как предоставить разрешение на создание веб-сайтов в IIS 7.5?
Теперь я пытаюсь использовать тот же код в контексте моего веб-приложения. Он завершается с ошибкой
Error: Cannot read configuration file due to insufficient permissions
для файла redirection.config (который я понимаю, находится в% WINDIR%/System32/Inetsrv/конфигурации).
Я попытался создать новое приложение для этого конкретного сайта, работающего под идентификатором IIS AppPool [AppPoolName]. Затем я попытался предоставить разрешение на идентификацию для редактирования конфигурации IIS с помощью
ManagementAuthorization.Grant(@"IIS AppPool\MyAppPool", "Default Web Site", false);
, но я все еще получаю ту же ошибку.
Что еще я должен попробовать?
Спасибо: я думал о песочнице, но я надеялся, что существует разумно безопасный подход, включающий меньше работы! –
@samuel - да, это немного странно, когда все это работает в первый раз (заняло около полудня), но результаты того стоят. Кроме того, книга безопасности Доминика Байера в значительной степени отдает вам все это. Стоит покупать только для этой главы: http://www.microsoft.com/learning/en/us/book.aspx?ID=9989&locale=en-us. – Kev
Ну, я только что провел последние 2 часа на песочнице и, похоже, сработал! Это было довольно просто, используя WCF и TopShelf (http://topshelf-project.com) для размещения Windows Service –