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

ASP.NET Discussion :

Problème de droits pour tester existence fichier/Configuration IIS ?


Sujet :

ASP.NET

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Problème de droits pour tester existence fichier/Configuration IIS ?
    Bonjour,

    Malgré une recherche d'une quinzaine de minutes, je ne vois rien qui ai directement rapport avec mon problème, mais je ne serais pas surpris d'avoir mal ou pas assez cherché, et je m'en excuse par avance (mais Vendredi dernier j'ai cherché pendant deux bonnes heures sur Google).

    Je cherche à tester l'existence d'un fichier sur le réseau par System.IO.File.Exists.
    Or, le fichier n'est jamais trouvé, alors qu'il existe bel et bien.
    Je suis presque sur qu'il doit s'agir d'un problème de droits, puisque dans la documentation de Microsoft il est précisé qu'en cas d'absence de droit suffisant sur le fichier, la fonction retourne False.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    nompic = "\\serveur\chemin\fichier.jpg"
    If System.IO.File.Exists(nompic) Then
        lienpic = "file:" & nompic
    Else
        lienpic = "./gfx/non_dispo.jpg"
    End If
    Sans le If, pour peu que le fichier existe, le code fonctionne très bien.
    Avec If, malheureusement, ça affiche tout le temps non_dispo.jpg

    Je crois avoir compris qu'il faut que l'utilisateur qui exécute le processus, soit l'utilisateur IIS, aie des droits de lecture sur le ou les fichiers réseau en question.
    Mais je connais mal IIS et je ne vois pas comment changer l'utilisateur.
    Je voudrais changer l'utilisateur car je vois mal comment je pourrais donner des droits à des fichiers réseau à un utilisateur local sur mon poste (je développe et teste sur mon poste et non sur un vrai serveur).
    J'ai IIS 5.1, et tout ce que j'ai trouvé pour l'instant c'est :
    - Outil d'administration/Services Internet (IIS)/Ordinateur local/Sites Web
    - clic droit/Propriétés/Sécurité de répertoire/Modifier
    - et là dans "connexion anonyme" j'ai mis mon nom d'utilisateur (qui a le droit de lister le répertoire sur lequel se trouvent les fichiers réseau) en lieu et place de IUSR_MACHIN
    - j'ai essayé aussi "Accès authentifié" et coché "Autentification intégrée windows"

    Mais ça n'a rien changé...

    Si quelqu'un peut m'aider là dessus je lui en serait fort gré

    Cyril

    P.S : merci buns pour ton edit. Je viens de comprendre que dans "Sécurité de répertoire/Modifier", c'est le mode d'accès au site par les utilisateurs qui est défini, et non pas le mode d'accès du process aux ressources extérieures... Je m'en doutais bien, mais je ne voyais, et ne vois toujours rien d'autre.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 360
    Points : 486
    Points
    486
    Par défaut
    tu lances ton site via le debug de Visual studio ou directement via ton navigateur ?

    l'utilisateur par défaut est ASPNET vérifie si l'utilisateur ASPNET à bien les droits NTFS sur le repertoire de ton site, après dans IIS tu peux laisser connexion anonyme

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par jjameau Voir le message
    tu lances ton site via le debug de Visual studio ou directement via ton navigateur ?

    l'utilisateur par défaut est ASPNET vérifie si l'utilisateur ASPNET à bien les droits NTFS sur le repertoire de ton site, après dans IIS tu peux laisser connexion anonyme
    Directement via le navigateur.
    ASPNET est un compte local à mon PC, il ne fait pas partie du domaine, je ne vois donc pas comment lui donner des droits d'accès à des fichiers qui sont sur un serveur du domaine.
    Donc, comment changer l'utilisateur par défaut ?
    (et oui, j'ai remis connexion anonyme dans IIS)

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 360
    Points : 486
    Points
    486
    Par défaut
    ok, j'avais pas fais attention que tes fichiers étaient sur un autre serveur.
    Il doit fallloir que tu utilises un utilisateur de ton domaine pour faire tourner IIS.
    Regardes du coté de l'impersonation

    http://msdn.microsoft.com/en-us/libr...8VS.71%29.aspx

    ton utilisateur de domaine devra egalement avoir des droits ntfs sur le dossier où se trouvent les fichiers

  5. #5
    Futur Membre du Club
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Ca a marché, merci beaucoup !
    J'ai créé un fichier Web.config (car je fonctionnais sans) et ai inséré ceci dedans :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      <system.web>
        <identity impersonate="true" />
      </system.web>
    Je viens du monde PHP+APACHE
    Bien que travaillant également sur VB, et l'appréciant beaucoup en tant que langage, je trouve que ASP.NET est une usine à gaz redoutable.


    Citation Envoyé par jjameau Voir le message
    ok, j'avais pas fais attention que tes fichiers étaient sur un autre serveur.
    Il doit fallloir que tu utilises un utilisateur de ton domaine pour faire tourner IIS.
    Regardes du coté de l'impersonation

    http://msdn.microsoft.com/en-us/libr...8VS.71%29.aspx

    ton utilisateur de domaine devra egalement avoir des droits ntfs sur le dossier où se trouvent les fichiers

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 360
    Points : 486
    Points
    486
    Par défaut
    content que cela fonctionne !

    Merci de mettre le post à résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème de droit pour la création d'un fichier
    Par anassss dans le forum Unix
    Réponses: 1
    Dernier message: 26/07/2011, 15h29
  2. Réponses: 6
    Dernier message: 06/05/2011, 12h48
  3. Problème de droit pour ouverture de fichier
    Par cyrilled dans le forum Outils
    Réponses: 4
    Dernier message: 17/09/2009, 15h44
  4. Problème de droit pour accéder à un fichier backup
    Par mercure07 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 12/05/2008, 11h02

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