2010-12-07 9 views
0

J'ai du mal à essayer d'accéder à un fichier de serveur distant à partir d'un autre serveur avec mon application asp .Net (C#) hébergée dedans. Le scénario est le suivant:Accès au chemin refusé, tentative d'accès au fichier serveur distant

J'ai écrit une application Web MVC qui est hébergée sur SERVER A; et dans certains cas, il doit laisser l'utilisateur modifier un fichier de configuration XML situé sur SERVER B. Donc, voici la partie du code où j'essaie de lire ce fichier à partir d'un dossier partagé sur SERVER B:

(C# - contrôleur)

WindowsImpersonationContext impContext = null; 
     try 
     { 
      impContext = NetworkSecurity.ImpersonateUser(
       Settings.Default.ImpersonationDomain, 
       Settings.Default.ImpersonationUser, 
       Settings.Default.ImpersonationPass, 
       LogonType.LOGON32_LOGON_NETWORK, 
       LogonProvider.LOGON32_PROVIDER_DEFAULT); 
     } 
     catch (ApplicationException ex) 
     { 
      // write to log file 

     } 
     if (null != impContext) 
     { 
      try 
      { 
       //get the location of the configuration file 
       string remoteConfigFile = Settings.Default.RemoteDesktopMonitorCnfgFile; 

       //open the configuration file 
       XDocument xmlFile = XDocument.Load(@"\\SERVERB\Folder\configurationFile.exe.config"); 

donc, mon exception est là, lorsque je tente d'ouvrir ce fichier de configuration, je reçois l'exception:

Access to the path '\\SERVERB\Folder\configurationFile.exe.config' is denied 

Comme vous pouvez le voir, je m usurper l'identité de l'utilisateur avant d'essayer de lire le fichier, cette usurpation d'identité est bien fait; et j'ai déjà donné un accès complet à la ressource partagée à l'utilisateur avec lequel j'emprunte l'identité. J'ai même essayé de joindre cet utilisateur au groupe Administrateurs sur les deux serveurs (A et B) et la même exception se produit. Peut-être vaut la peine de dire que les deux serveurs sont sur le même domaine Windows, et que j'utilise un compte d'utilisateur qui existe sur le domaine et que le mot de passe est correct.

Toute aide que vous pourriez me donner serait appréciable.

Merci d'avance.

Répondre

0

Il y a une solution à votre problème already on StackOverFlow

Check it out!

+0

Merci beaucoup, comme je vois, je n'ai pas utilisé les mots-clés appropriés sur ma recherche. – lidermin

Questions connexes