Appeler un executable depuis un site dotNet

Signaler
Messages postés
473
Date d'inscription
mercredi 7 août 2002
Statut
Membre
Dernière intervention
10 juin 2015
-
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
-
Bonjour,

J'ai programmé une application web qui s'appuie sur des executables pour produire certaines opérations. J'utilise la classe process et je redirige la sortie pour appeler mes executables.
L'executable se lance très bien, mais il n'a aucun droit sur les fichiers et la base de registre. Et... je veux créer des fichiers et modifier ma base de registre.
J'ai palié au problème en batchant les executions demandées toutes les minutes, mais je préfererai plutôt que tout fonctionne en temps réel.
Qqun a-t-il une solution ?

Je vous remercie d'avance.
Olivier Marty

Console.Out.WriteLine("Warny")

Il y a 10 types de personnes
Ceux qui comptent en binaire... et les autres

5 réponses

Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
Il suffit de donner les droits à ton exécutable ...

yopyop
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Merci pour la précieuse aide YopYop ....

Tout d'abord, ton executable n'a aucun droit, car l'utilisateur qui le lance, et l'utilisateur aspnet (ou IUSR_nommachine sur win server 2003), ce compte a des droits limités, ce qui est relativement normal !

Tu peux manuellement modifier les droits de cet utilisateur mais je ne te le conseil pas.
Ce que je ne comprends pas, c'est pourquoi tu passes par des exe ? deja pourquoi ne pas passer par des assemblys ? ainsi tu pourrais appeller ces assemblys directement via l'application web, ou alors une application windows, je pense que ce serait une meilleure solution.

Pour ce qui est des droits tu peux utiliser l'usurpation d'identités qui consiste à faire tourner une appli web, avec un autre compte que le compte aspnet qui lui aura les droits nécessaire, pour plus d'info sur le sujet : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconaspnetimpersonation.asp

et voici la ligne a rajouté pour ceux que ca interesse :
<!--StartFragment -->


<HR>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
Messages postés
473
Date d'inscription
mercredi 7 août 2002
Statut
Membre
Dernière intervention
10 juin 2015

Salut,

Merci ta précieuse aide, je vais vérifier l'utilisateur qui est utilisé pour l'execution.
Quant à l'utilisation d'executables, c'est simple, c'est ce que j'ai. Je dois piloter un programme que je n'ai pas fait moi-même et je ne dispose que d'executables standards pour ça.

Console.Out.WriteLine("Warny")

Il y a 10 types de personnes
Ceux qui comptent en binaire... et les autres
Messages postés
473
Date d'inscription
mercredi 7 août 2002
Statut
Membre
Dernière intervention
10 juin 2015

J'ai jait le test, et j'ai toujours le même problème.
Je suis en . Est-ce que ceci peut avoir une influence.
Mon utilisateur d'execution pour IIS et pour l'impersonate sont tous les deux administrateurs de la machine

Console.Out.WriteLine("Warny")

Il y a 10 types de personnes
Ceux qui comptent en binaire... et les autres
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Bizarre :-/

t'as bien désactivé les connexions anonymes dans IIS ?



Sinon t'as regardé, qui etait le propriétaire de l'execution de ton
programme, tu peux voir ca dans le gestionnaire des taches (CTRL + ALT
+ SUPPR)

<hr>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr