Probleme sécurité

Résolu
martok Messages postés 31 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 24 juin 2008 - 22 févr. 2006 à 09:55
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 - 24 févr. 2006 à 13:06
Bonjour,

J'ai développé un programme C# qui s'exécute sans problème. Mais quand je l'exécute sur une machine distante, j'ai une exception qui est levée.
Lors d'un accès en écriture sur le disque, par exemple la création d'un fichier pour faire du log, j'ai une exception qui est levée avec le message d'erreur suivant :

Request for the permission of type System.Security.Permissions.FileIOPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 failed.

L'exception est la suivante :
System.Object {System.Security.SecurityException}

Pour tenter de résoudre le pb j'ai utilisé l'assistant Adjust .NET Security du panneau de configuration. J'ai choisi l'option "Make change to this computer" et j'ai mis les options "My Computer" et "Local Intranet" à Full Trust.
Le problème persiste.

Pouvez-vous m'aider ?

Merci d'avance.

8 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 36
22 févr. 2006 à 16:56
arf... ok... j'avais mal lu.

ton programme ne peut ni lire ni écrire sur ton disque puisqu'il s'exécture à distance.

Il faut que tu exécutes le wizard et que tu "trustes" l'assembly


Sébastien FERRAND (
blog)
[Microsoft MVP Visual C#]
3
martok Messages postés 31 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 24 juin 2008
24 févr. 2006 à 12:38
Alors j'ai résolu en partie le problème :
Sébastien, tu avais raison !
Quand j'exécute l'exe, je l'exécute en fait en local, car il est dans un répertoire partagé sur le réseau. Et moi, quand j'ai trusté l'assembly, je l'ai trusté sur le serveur. Or, il fallait la truster en local (à partir du panneau de config de mon poste de travail), car l'exe est en réalité exécuté sur mon poste de travail et non sur le serveur.
Voila.

Merci encore Sébastien pour tes conseils, tu m'as bien dépanné.
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 36
22 févr. 2006 à 10:00
l'utilisateur a-t-il le droit d'écriture sur le disque réseau ?


Sébastien FERRAND (
blog)
[Microsoft MVP Visual C#]
0
martok Messages postés 31 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 24 juin 2008
22 févr. 2006 à 16:51
L'utilisateur qui déclenche l'EXE à distance a bien le droit d'écriture sur le disque.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
martok Messages postés 31 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 24 juin 2008
23 févr. 2006 à 09:01
Que je truste l'assembly ? Ca consiste en quoi ?
En fait sur le serveur distant j'ai l'exe et 4 dll.
Donc le traitement dont tu parles doit être fait sur l'exe distant c'est bien ça ?
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 36
23 févr. 2006 à 09:20
oui... sinon l'acces aux ressources locales est refusé.

Trust : Autorisé


Sébastien FERRAND (
blog)
[Microsoft MVP Visual C#]
0
martok Messages postés 31 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 24 juin 2008
23 févr. 2006 à 10:18
J'ai donné les droits maximum pour cette assembly en faisant "trust an assembly" et les droits maximum pour le poste local et l'intranet dans "adjust .net security". Le problème n'a pas changé. C'est bizarre.
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 36
24 févr. 2006 à 13:06
sauf que la bonne réponse, c'est la mienne :p


Sébastien FERRAND (
blog)
[Microsoft MVP Visual C#]
0
Rejoignez-nous