IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

FileIOPermission ou comment lire un fichier depuis une application en Intranet


Sujet :

C#

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut FileIOPermission ou comment lire un fichier depuis une application en Intranet
    Bonjour,

    Je suis confronté à un gros problème de sécurité que me pose .NET.

    J'ai écrit un programme pour valider un fichier XML depuis un schéma XSD sous Visual Studio 2005.
    Celui-ci va chercher dans un fichier .ini le chemin vers les fichiers xml et xsd, vérifie le fichier xml et écrit les erreurs éventuelles dans un fichier texte dont le chemin est également spécifié dans l'ini.

    Tant que je lance l'éxécutable depuis mon disque dur local, tout va bien.
    Là où ça se corse, c'est quand je met mon application sur le réseau intranet ! Plus moyen d'ouvrir le xml ni le xsd !! Je suis envoyé sur les roses par .NET qui me dit gentiment que j'ai une exception de sécurité sur FileIOPermission, alors que dans les propriétés du projet, je spécifie clairement que l'application doit avoir tous les droits FileIOPermission...

    Je ne comprend pas du tout comment .NET gère ces permissions et j'ai vraiment besoin que l'on m'explique ce que j'ai oublié de faire... le pire étant que je peux lancer mon application sur le réseau local sans problème à condition de le lancer en mode débugage dans Visual Studio....

    La seule alternative que j'aie trouvé pour le moment, c'est de modifier manuellement les paramètres de sécurité de .NET au niveau des outils d'administration, mais je pense qu'il y'a un moyen plus élégant pour résoudre ce problème.

    Merci par avance

  2. #2
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut
    T'es sur que c'est pas ton intranet qui bloque l'acces aux fichiers et pas .Net ?
    Tu n'a surement pas les droits d'acces en lecture et/ou ecriture

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Points : 1 046
    Points
    1 046
    Par défaut
    Je pense pas qu'il y ait un moyen plus élégant. La sécurité .net sert ... à sécuriser le poste client. En particulier je suppose que par défaut une appli qui vient d'internet/intranet n'a pas le droit "FileIOPermission", normal. Ensuite tu peux sur chaque poste client dire que tel site est trusté, ou bien que tte les assemblies signées par tel éditeur sont trustées etc... ça peut bien sûr se faire au niveau de la politique du domaine, il faut alors voir ça avec les administrateurs système.

    Cela dit je ne suis vraiment pas un expert sécurité .net, c'est simplement mon avis. Si qqun à d'autres idées/infos...

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Tober Voir le message
    T'es sur que c'est pas ton intranet qui bloque l'acces aux fichiers et pas .Net ?
    Tu n'a surement pas les droits d'acces en lecture et/ou ecriture
    J'y ai pensé, mais j'ai bien les droits en lecture et écriture.

    Citation Envoyé par Sphax Voir le message
    Je pense pas qu'il y ait un moyen plus élégant. La sécurité .net sert ... à sécuriser le poste client. En particulier je suppose que par défaut une appli qui vient d'internet/intranet n'a pas le droit "FileIOPermission", normal. Ensuite tu peux sur chaque poste client dire que tel site est trusté, ou bien que tte les assemblies signées par tel éditeur sont trustées etc... ça peut bien sûr se faire au niveau de la politique du domaine, il faut alors voir ça avec les administrateurs système.

    Cela dit je ne suis vraiment pas un expert sécurité .net, c'est simplement mon avis. Si qqun à d'autres idées/infos...
    Ben j'en sais pas plus, mais j'ai vu qu'on pouvait faire des demandes de permissions, malheureusement, toutes celles que j'ai faite se sont soldées par une belle exception de sécurité.
    Cela-dit, s'il y'a moyen de faire des demandes, je pense qu'il y'a des conditions dans lesquelles elles peuvent être acceptées, non ? (rhalala, c'était moins compliqué en C++ )

Discussions similaires

  1. Réponses: 3
    Dernier message: 27/03/2014, 17h54
  2. [AJAX] Lire un fichier depuis une URL?
    Par PlaTyPuSs dans le forum AJAX
    Réponses: 6
    Dernier message: 01/06/2009, 13h28
  3. Comment charger un fichier depuis une Servlet
    Par g25452 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 22/08/2008, 13h50
  4. Comment utiliser miso.exe depuis une application vb.net?
    Par tbdarkspirit dans le forum VB.NET
    Réponses: 1
    Dernier message: 29/04/2007, 14h06
  5. Comment décompresser un fichier dans une application ?
    Par f6dqm1 dans le forum Composants VCL
    Réponses: 8
    Dernier message: 14/01/2005, 16h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo