2016-05-04 1 views
0

J'ai un serveur Web et un groupe de fichiers auquel j'ai besoin d'accéder. Je peux mapper le groupe de fichiers sans problème Toutefois, lorsque j'essaie d'enregistrer des fichiers sur le lecteur unc je reçois seulement des erreurs. dans ma configuration web J'ai ce qui suit:asp.net C# accéder à un dossier non partagé

<appSettings> 
    <add key="Docs" value="\\xxxxxx-filecluster\fileshare\" /> 
    </appSettings> 

<system.web> 
    <identity impersonate="true"/> 

dans le code je: -

void SaveFile(HttpPostedFile file) 
    { 
     // Specify the path to save the uploaded file to. 
     string savePath = WebConfigurationManager.AppSettings["Docs"]; 

sur le serveur géré j'avoir un compte local appelé fileuser et sur le domaine i un autre utilisateur appelé dom/fileuser.

Dans IIS, j'ai un pool d'applications fonctionnant sous dom/filesuer, mais je ne peux toujours pas enregistrer de fichier sur le disque unc.

Access to the path '\\xxxxxx-filecluster\fileshare\test.txt' is denied. 

alors qu'est-ce que je fais mal?

+0

Que retourne savePath lors du débogage? Idk si c'est une faute de frappe mais vous devez accéder avec \\ à un chemin UNC. Dans votre config il est seulement \ – uTeisT

+0

Salut C'était une faute de frappe - j'ai mis à jour la question (merci) mais il revient avec \\ xxxxxx-filecluster \ fileshare \ – chris

+0

Eh bien, vous devrez peut-être fournir un accès en lecture au compte que vous utilisez (IIS_USRS ou le compte "usurper l'identité") pour le dossier partagé. – uTeisT

Répondre

0

Déjà des commentaires, mais on y va:

Je pense que le problème est lié avec les privilèges des comptes que vous utilisez pour accéder au fichier.

Si votre config est comme:

<identity impersonate="true" userName="foo" password="bar"/> 

L'utilisateur foo doit avoir au moins Read privilège sur le dossier partagé.

+0

Salut j'ai essayé mais je reçois Le nom d'utilisateur ou mot de passe est incorrect., Que je ne comprends pas parce que quand je mappe un lecteur réseau en utilisant exactement les mêmes informations d'identification - il fonctionne. (cela utilise l'utilisateur de domaine) - et le site est exécuté sous le pool d'applications avec ces informations d'identification. – chris

+0

Eh bien, il semble que nous puissions résoudre le problème initial. Vous pouvez maintenant accéder au chemin UNC. En ce qui concerne les informations d'identification, dans la configuration, vous devriez utiliser DOMAIN \ nom d'utilisateur juste au cas où vous ne le faites pas. – uTeisT

+0

malheureusement toujours me donner une erreur en disant que le nom d'utilisateur ou mot de passe est incorrect.- – chris