2010-10-14 9 views
0

J'ai un site web spécial qui peut créer de nouveaux sites en utilisant IIS7 ServerManager:Autorisations utilisateur pour créer le site IIS7

using (ServerManager serverManager = new ServerManager()) 
{ 
    // create new site logic here  
} 

Ce site spécial doit être en cours d'exécution sous le compte du système pour pouvoir gérer IIS7. Est-il possible de créer un utilisateur Windows spécial à définir comme l'identité du pool d'applications du site et de donner à cet utilisateur des droits spéciaux uniquement pour accéder à IIS7 mais pas un accès complet au système?

La raison pour laquelle je veux faire cela est de donner l'identité de processus du site avec moins d'autorisations que possible.

S'il vous plaît laissez-moi savoir si la question n'est pas clair enought :)

Répondre

0

Si vous créez un nouveau compte pour l'identité du pool d'application, vous devez utiliser ce code pour lui donner les bons priviliges puis après que d'ajouter la droits requis pour créer des sites:

à naviguer:

C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727

puis faites:

aspnet_regiis -ga DomainOrMachineName \ AccountName

Voir ici http://msdn.microsoft.com/en-us/library/ff649309.aspx#paght000009_step2

0

Cela dépend vraiment exactement ce que cette application devrait être en mesure de le faire, si tout ce que vous voulez faire est la possibilité de créer un nouveau site, vous peut créer un compte et accorder un accès en lecture et en écriture à% windir% \ system32 \ inetsrv \ config \ applicationHost.config. Cela dit, faites-le très attention, car une fois qu'ils peuvent écrire dans ce fichier, ils peuvent faire des choses puissantes, par exemple, ajouter un nouveau pool d'applications fonctionnant en tant que système et être capable d'exécuter leur code en utilisant une identité aussi puissante comme ça. Si vous voulez leur permettre de recycler, lancez & stop, etc, pour les objets d'exécution comme les sites, les pools d'applications, les domaines d'application, etc., alors vous aurez besoin d'étapes supplémentaires, mais je ne recommanderais pas cela. En outre, si vous définissez réellement des propriétés cryptées (comme un mot de passe dans les pools d'applications ou les répertoires virtuels), vous devrez également accorder des autorisations pour les clés de cryptage, mais je recommande également de ne pas utiliser cette option. leur donnerait la possibilité de déchiffrer les mots de passe.