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 :

[ASP.NET] Lecture / Ecriture fichier sur un serveur distant


Sujet :

ASP.NET

  1. #1
    Membre actif
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Points : 282
    Points
    282
    Par défaut [ASP.NET] Lecture / Ecriture fichier sur un serveur distant
    Bonjour,

    Je dois sauvegarder des documents sur un serveur distant qui servira de serveur de fichier.

    Je souhaite donc mettre en place le traitement classique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    try
    {
    if(!Directory.Exists("\\serveur\temp")) Directory.CreateDirectory("\\serveur\temp");
    }
    catch(...)
    ...
    J'ai directement une exception :
    Impossible de trouver une partie du chemin d'accès "\\\\serveur\\temp\"
    En sachant que sur le serveur de fichier, j'ai mis des droits totaux sur le dossier temp pour l'utilisateur IUSR_Serveur.

    Une idée?

    Merci

  2. #2
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    Que je comprenne ton souci... Tu essayes d'accéder a un serveur web A. Ce dernier peut accéder À ton serveur de fichier B par l'intermédiaire du chemin réseau \\serveurB\temp . et tu as des soucis concernant l'acces au serveur B par A.

    C'est bien ça? Si c'est le cas, est ce que l'utilisateur du serveur A a les droits sur le répertoire du serveur B?

  3. #3
    Membre actif
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Points : 282
    Points
    282
    Par défaut
    J'ai un serveur web A ou j'ai le site (et pas accéder au site comme tu disais si je ne me trompe pas). Le serveur B est un serveur de fichier ou seront stockés les documents. Le serveur A doit donc écrire / lire des fichiers qui sont stockés sur le serveur B.

    Je ne sais pas si ce sont les bons droits que j'ai mis mais dans le dossier ou sont stockés les doc sur le serveur B, j'ai mis contrôle total pour l'utilisateur iusr.

    et ca n'a pas l'air d'avoir réglé le problème

  4. #4
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    Il va falloir savoir quell est l'impersonnation utilisée par ton site web pour travailler: Et cela va dépendre de ton type d'authentification dans ton site web :

    anonymous :IUSR_<computername>
    Basic Authentication : user connected si tu le definis dans ton web.config
    Integrated Windows Authentication : user connected

    http://msdn.microsoft.com/en-us/library/ms998351.aspx

    http://msdn.microsoft.com/en-us/library/ms955939.aspx

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Je crois que Directory.Exists pose quelques problèmes avec les chemins UNC, en particulier si le répertoire en question requiert une authentification...

    Cherche "Directory.Exists unc path" sur google, tu devrais trouver pas mal d'infos

    Et vérifie que l'utilisateur ASP.NET a le droit d'accéder à ce répertoire

  6. #6
    Membre actif
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Points : 282
    Points
    282
    Par défaut
    Je pensais avoir mis les droits mais en fait non ...

    Sur mon serveur A (qui est, pour le momen, mon poste de dev), iis est configuré pour fonctionner en connexion anonyme comme l'utilisateur IUSR_ServeurA. Sauf erreur de ma part, ce compte est un compte local au serveur A.

    Sur mon serveur B, je ne peux donner accès qu'au user local donc IUSR_SERVEURB ... le serveur B ne pourra jamais attribuer de droits au user du serveur A...

    J'ai essayé de lire un simple fichier sur le serveur B avec un filestream sans succès. J'ai une exception qui m'est retourné disant : "le compte référencé est actuellement verrouillé et il se peut qu'il ne soit pas possible de s'y connecter"

    Est ce que je me trompe dans mon analyse?

    Dans ce cas, quelles sont les solutions conseillez-vous?

  7. #7
    Membre actif
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Points : 282
    Points
    282
    Par défaut
    Nouvel essai :
    A partir de mon poste, j'ai dit que j'utilisais mon propre compte réseau pour les connexions anonymes.

    et j'ai toujours la même erreur... alors que je me suis rajouté les droits sur le serveur B.

  8. #8
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    et tu ne peux pas utiliser un compte commun aux deux serveurs afin de prendre l'identité de ce compte sur le serveur A et lui permettre l'accès au repertoire sur le serveur B.

    Un truc du style : monDomaine\MonUser

    Je crois qu il y a une possibilité de donné dans la configuration du pool pour definir une identité.

    Enfin voilà , c'etait mes deux cents!

  9. #9
    Membre actif
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Points : 282
    Points
    282
    Par défaut
    Citation Envoyé par Arthis Voir le message
    et tu ne peux pas utiliser un compte commun aux deux serveurs afin de prendre l'identité de ce compte sur le serveur A et lui permettre l'accès au repertoire sur le serveur B.

    Un truc du style : monDomaine\MonUser
    C'est ce que j'ai essayé avec mon propre user :p

    Citation Envoyé par Arthis Voir le message
    Je crois qu il y a une possibilité de donné dans la configuration du pool pour definir une identité.
    ah je regarde ca ...


    Citation Envoyé par Arthis Voir le message
    Enfin voilà , c'etait mes deux cents!
    Pas assez cher mon fils

  10. #10
    Membre actif
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Points : 282
    Points
    282
    Par défaut
    Personne d'autre à une idée géniale à me proposer?

    Cela proviendra plus d'un problème de réseau car mon compte a normalement les droits pour accéder en lecture / écriture sur le serveur B...

  11. #11
    Membre régulier
    Profil pro
    Responsable informatique
    Inscrit en
    Mars 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable informatique

    Informations forums :
    Inscription : Mars 2005
    Messages : 112
    Points : 94
    Points
    94
    Par défaut
    Pourqoui pas par FTP?

  12. #12
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    Je dis peut-être une connerie.
    Mais dès le début, le premier post me pose un problème.
    ("\\serveur\temp")
    moi je mettrais
    (@"\\serveur\temp")
    ou
    ("\\\\serveur\\temp")

  13. #13
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,

    1. Creer deux comptes strictement identiques (même user même mot de passe) sur les serveurs A et B.
    2. Donner au compte sur le serveur web les même privilèges (execution, etc) que le compte ASP_NET grâce à asp_regiis
    3. Créer un pool d'application pour l'application web
    4. Changer l'identité du pool pour le compte précédement créé
    5. Faire un partage sur le serveur B
    6. Autoriser le compte en question à accéder au partage
    7. Implémenter le code nécessaire pour accéder au fichier

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. [Débutant] Application ASP.NET - Exécuter un .bat sur un serveur distant
    Par HidanTF2 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 08/04/2014, 11h15
  2. Réponses: 4
    Dernier message: 23/11/2008, 02h05
  3. [c#][asp.net2] upload de fichiers sur un serveur
    Par skystef dans le forum ASP.NET
    Réponses: 1
    Dernier message: 21/02/2007, 09h24
  4. [ASP.NET] Executer mon site sur le serveur
    Par mael94420 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 15/12/2006, 14h57
  5. [VB.NET] Download de fichiers sur un serveur...
    Par Webman dans le forum ASP.NET
    Réponses: 3
    Dernier message: 19/05/2004, 10h25

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