existe-t-il un moyen d'exécuter le pool d'applications iisexpress sous une identité différente de celle de l'utilisateur actuellement connecté?
Je contourne ce problème en utilisant la commande "runas" actuellement mais je voudrais savoir s'il y a quelque chose de intégré à iisexpress que je peux utiliser.
Il semble que cela devrait être possible. Dans votre fichier IIS Expresshost.config du site Express, un élément <processModel/>
Est défini dans <applicationPoolDefaults>
Sous <applicationPools>
L'élément <processModel>
Possède des attributs pour userName
et password
.
De MSDN :
Spécifie qu'ASP.NET exécutera le processus de travail avec une identité Windows différente de l'identité Windows pour l'identité de processus par défaut. Par défaut, cet attribut est défini sur la machine et le processus s'exécute sous un compte d'utilisateur nommé ASPNET qui est créé automatiquement lorsque ASP.NET est installé. Le mot de passe du compte ASPNET est généré de manière cryptographique au moment de l'installation. Si des informations d'identification valides sont présentées dans cet attribut et l'attribut de mot de passe, le processus est exécuté avec le compte donné.
Cela devrait vous permettre d'exécuter le site sous différentes informations d'identification de l'utilisateur connecté.
Je n'ai pas pu faire fonctionner la solution ci-dessus et je voulais pouvoir déboguer via Visual Studio lors de l'exécution de IIS Express sous différentes informations d'identification.
Vous pouvez maintenant déboguer comme d'habitude sous IISExpress (en supposant que c'est ainsi que vous avez configuré votre projet) sous l'exécution en tant qu'identifiants. C'est très bien si vous devez utiliser la sécurité intégrée pour les connexions à la base de données ou quelque chose de similaire, mais devez utiliser des informations d'identification différentes.
"runas" n'est que la solution. IIS Express peut ne pas respecter les paramètres processModel définis dans le fichier applicationhost.config.
Runas/netonly IISExpress.exe de la ligne de commande fonctionne et est très viable si vous cherchez une réponse aussi désespérée que nous. Article connexe
Je me demande si cela fonctionne vraiment - IIS Express semble exécuter tous les pools d'applications dans le même processus - et ce processus est exécuté dans le contexte de l'utilisateur actuel ...?
Il semble que l'option "Exécuter en tant que" puisse fonctionner, mais cela nous obligerait à lancer IIS Express à partir de la ligne de commande (ou événement de génération) au lieu de compter sur Visual Studio pour le démarrer. :(