2010-12-07 7 views
0

asp .Netアプリケーション(C#)をホストしている別のサーバーからリモートサーバーファイルにアクセスしようとしました。シナリオは次のとおりです。パスへのアクセスが拒否され、リモートサーバーファイルにアクセスしようとしています

私は、サーバーAでホストされているMVC Webアプリケーションを作成しました。場合によっては、ユーザーがサーバーBにあるXML構成ファイルを変更できるようにする必要があります。次に、サーバーBの共有フォルダからそのファイルを読み取ろうとするコード部分を示します。

(C#の - コントローラ)

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"); 

だから、私の例外は、私はその設定ファイルを開こうとすると、私は例外を取得しています、ここにある:

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

あなたが見ることができるように、私は」ファイルを読み取ろうとする前にユーザーを偽装して、その偽装がうまくいった。私は既に偽装しているユーザーに共有リソースへの完全なアクセス権を与えました。私はそのユーザーを両方のサーバー(AとB)のAdministratorsグループに参加させても同じ例外が発生しました。

両方のサーバーが同じWindowsドメイン上にあり、ドメイン上に存在するユーザーアカウントを使用しており、パスワードが正しいと言う価値があります。

私に教えていただけるお役に立てれば助かります。

ありがとうございます。

答えて

0

already on StackOverFlow

あなたの問題を解決するには、それをチェックアウトがあります!

+0

ありがとうございました。わかりましたが、私は検索に適切なキーワードを使用しませんでした。 – lidermin

関連する問題