Je crée un site Web dans IIS 7.5 (avec Windows 7) qui doit être capable de créer d'autres sites Web. J'ai écrit du code qui utilise Microsoft.Web.Administration pour créer le site Web par programmation, et cela fonctionne très bien quand je l'exécute en tant qu'administrateur.Comment autoriser le site Web à créer d'autres sites Web dans IIS 7.5?
Maintenant, j'essaie d'utiliser le même code dans le contexte de mon application web. Il échoue avec l'erreur
Error: Cannot read configuration file due to insufficient permissions
pour le fichier Redirection.config (que je comprends est situé dans% windir%/System32/Inetsrv/config).
J'ai essayé de créer un nouveau pool d'applications pour ce site Web spécifique, sous l'identité IIS AppPool [AppPoolName]. J'ai ensuite essayé d'accorder cette autorisation d'identité pour éditer la configuration IIS en utilisant
ManagementAuthorization.Grant(@"IIS AppPool\MyAppPool", "Default Web Site", false);
mais je reçois toujours la même erreur.
Que dois-je essayer d'autre?
Merci: J'avais pensé à l'approche du bac à sable, mais j'espérais qu'il y avait une approche raisonnablement sécurisée impliquant moins de travail! –
@samuel - ouais c'est un petit peu compliqué de tout faire fonctionner la première fois (ça m'a pris environ une demi-journée), mais les résultats en valent la peine. Aussi, le livre de sécurité de Dominick Baier vous explique à peu près tout. Il vaut la peine d'acheter seulement pour ce chapitre: http://www.microsoft.com/learning/en/us/book.aspx?ID=9989&locale=en-us. – Kev
Eh bien, je viens de passer les 2 dernières heures sur l'approche du bac à sable et ça semble avoir fonctionné! Il était en fait assez simple en utilisant WCF et TopShelf (http://topshelf-project.com) pour héberger le service Windows –