Stratégie de securité .net

Signaler
Messages postés
16
Date d'inscription
vendredi 8 août 2003
Statut
Membre
Dernière intervention
5 juillet 2010
-
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
-
Salut tout le monde,

J'ai developper une application vb .net et tout va bien.
Cette application est installé sur un serveur, et les postes client vont executé cette dernière. mais lors de l'execution, un message m'indique :

L'application a essayé d'effectuer une operation qui est interdite par la strategie de securité et il faut utilisé l'outil Microsoft .NET Framework configuration.

En gros, je pense qu'il faut autorisé l'execution a distance de l'application. mais j'arrive pas a le faire.

Merci pour votre aide.

7 réponses

Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
31
Salut,

Il faudrait un peu plus de détails:

- Quel est l'OS du serveur ?
- Quel est le type d'application (Winform, WCF, ASP.Net) ?
- Qu'appelles-tu exécuter à distance ? Comment les autres postes exécutent-ils l'application ?


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
16
Date d'inscription
vendredi 8 août 2003
Statut
Membre
Dernière intervention
5 juillet 2010

salut,

OS serveur : Windows 2008 (j'ai essayé meme avec un win XP et idem)
Application : win forms
Executer a distance :
Installer l'application sur serveur + installer l'application sur PC client +
faire un dossier paratgé sur Serveur qui contient le .exe et le repertoire des etats.

Tout les client execute l'application a partir de ce rep. partagé.

merci
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
31
Je comprends mieux en effet, cependant il reste un point à éclaircir

Installer l'application sur serveur + installer l'application sur PC client
faire un dossier paratgé sur Serveur qui contient le .exe et le repertoire des etats.

Tout les client execute l'application a partir de ce rep. partagé.


Tu dis installer l'application sur le pc client ? Pourquoi si celle-ci est exécutée depuis le répertoire partagé du serveur ?

Autre chose, le fait d'exécuter une application dans un répertoire partagé ne signifie pas que cette application sera exécutée sur le serveur, absolument pas, elle ne sera exécutée que sur le poste client. L'application sera chargée en mémoire du poste client au même titre qu'une application se trouvant dans 'Program Files'. La seule chose qui change, c'est le chemin de l'application qui se trouve être sur un répertoire partagé. Du coup tu dois obtenir des messages d'erreur car c'est la session sur le poste client qui exécute le programme et celui-ci demande l'accès en lecture et écriture sur un dossier qui n'appartient pas à la session et qui se trouve sur un autre poste. C'est donc plus un problème de droit. En gros c'est comme si tu exécute un programme se trouvant sur une clé USB, lors ce que tu le lance, le programme n'est pas exécuté sur la clé, car celle-ci n'est pas un ordinateur mais un lecteur sur lequel on place des fichiers.

Autre chose, si plusieurs clients exécutent le programme en même temps, il n'y aura pas une seule instance sur le serveur, mais plusieurs instances de ton programme (sur les clients qui l'exécutent) essayant d'accéder aux mêmes ressources se trouvant sur un répertoire partagé, et cela même peut provoquer un conflit.



Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
16
Date d'inscription
vendredi 8 août 2003
Statut
Membre
Dernière intervention
5 juillet 2010

Ok
Je t'explique :
Le choix du répertoire partagé est fait pour facilité la mise a jour du .exe et des etats.
En plus avec TS 2008 il y a la possibilité de lancé l'application a Distance (un site distant).

voila donc le besoin et le pourquoi.

J'ai vu sur Internet, et aparement il faut declaré l'application comme une application en confiance total mais j'ai trouvé où et je ne sait la faire où ?

merci pour ta patience !
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
31
Je t'explique :
Le choix du répertoire partagé est fait pour facilité la mise a jour du .exe et des etats.


En ce qui concerne le choix du répertoire, c'est au niveau applicatif que cela ce gère, donc si celle-ci est conçu pour écrire et lire dans "Stats" et exécuté par le serveur pas besoin de répertoire partagé. C'est pas très claire.

En plus avec TS 2008 il y a la possibilité de lancé l'application a Distance (un site distant).

voila donc le besoin et le pourquoi.


Oui mais cela ne se fait pas tout seul, tu exécute bien une commande ou une config pour que l'appli s'exécute via TS ?

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
16
Date d'inscription
vendredi 8 août 2003
Statut
Membre
Dernière intervention
5 juillet 2010

Désolé j'aurai du expliqué mieux.
C'est une application vb.net winforms couplé avec sql server 2005 express. Donc l'app ecrit et lit directement dans la base SQL.
L'executable est mis sur un rep. partagé pour facilité la mise a jour :
je suis en version 1.7 de mon application, lors de ma nouvelle modif. j'aurai une autre version (1.8), si j'ai pas de rep. partagé il faut que je copie le nouveau exe sur tout les pc clients alors que sur un rep. partagé pas besoin je copie juste dedans et tout les pc clients aurons la nouvelle version.

cette methode je l'ai utilisé avant dans mes application VB6 et elle marche tres bien.

idem pour les etas (des fichiers rpt qui se trouve dans le meme repertoire)

Coté TS, aucune modification niveau application (aucune modification dans le code de l'application)
en details, j'utilse remoteApp dans TS 2008 : c'est un role dans l'OS serveur qui permet d'utilisé n'importe quelle application installé sur le serveur. Ce role fonctionne tres bien avec n'importe quelle application meme un fichier access , notepad.exe ... et je l'ai utilisé avec une application vb6 et ca marche aussi.

Mais mon probleme se situe au niveau securité de .net Framework, ce dernier en question bloque l'execution de l'application. et je n'arrive pas a trouvé la solution
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
31
OK, mais le remoting sert surtout pour économiser des ressources sur les postes locaux, est-ce ton cas ? Ou veux-tu faire du remoting pour 'centraliser les données' ?

Perso je ne vois pas l'intérêt du remoting avec une application cliente d'SQL Server. Ou alors tu as mal compris le concept d'application 2 tiers.

SQL Serveur est déjà un serveur à part entière, une application, pas besoin d'installer un serveur supplémentaire pour ton application. Il te suffirait simplement de modifier ta chaine de connexion, d'ouvrir le port 1433 et 1434(SQL Browser) sur le serveur (physique), de configurer correctement ton instance SQL Server et ton problème serait résolu.

Ou c'est moi qui ne saisi pas bien le concept de ton application

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.