0

誰かが私を助けてくれることを願っています。

リモート サーバー上のディレクトリをスキャンして一連のディレクトリを探し、それらのディレクトリ内で一連のファイルを検索するカスタム アクション ページを作成しました。ただし、運用サーバーでコードを実行すると、アクセス拒否の例外が発生します。テストサーバーで同じコードを使用すると(同じリモートサーバーにアクセスして)、問題なく動作します。

運用サーバーで powershell またはエクスプローラーを使用すると、リモート ディレクトリとファイルに問題なくアクセスできます。

すべてのシナリオで同じアカウントを使用しています (Page.User.Identity.Name と SPContext.Current.Web.CurrentUser.LoginName を出力すると、テスト サーバーで使用しているアカウントと同じであり、同じアカウントです)。コマンドラインまたはエクスプローラーからリモートサーバーにアクセスするときに、本番サーバーにログオンしています)。

コードは次のようになります。

string user = SPContext.Current.Web.CurrentUser.LoginName.Remove(0,7);
string user_path = "\\\\srv\\share1\\subdir\\dir\\" + user;

// The line below will raise an exception on the production server.
foreach (string board_path in Directory.GetDirectories(user_path, "Board*")) {
   foreach (string board_file in Directory.GetFiles(board_path, "Board*.xml")) {
   .
   .
   }
}

コードがテストサーバーで実行され、本番マシンでは実行されない理由がわかりません。SharePoint 2010 Standard を使用しています。

私が得ることができるあらゆる種類の助けを前もって感謝します。

/フレドリック

4

1 に答える 1