2011-12-09 39 views
4

「\ lo1dc \ abcd \ Admin \ Images」と同じネットワークにフォルダがあります。同じネットワーク内の別のマシンに新しいWebアプリケーションを作成し、 "_images"という仮想ディレクトリを作成し、このフォルダパスを設定しました。私はアカウントを作成している間、指定されたユーザーとしてパス証明書を設定し、管理者として名前を設定しました。ネットワーク全体の管理者ユーザーです。今パス "*****"へのアクセスが拒否されました

「パスへのアクセス 『\ lo1dc \ ABCD \管理\画像\ abc.Jpg』は拒否された」として、これは私にエラーメッセージが表示され

string strSaveLocationCode128 = Server.MapPath("~/_images") + "//abc.Jpg"; 
barcodeCode128Mobile.drawBarcode(strSaveLocationCode128); 

以下のように画像を保存しようとしながら、 。

私は自分の開発プラットフォームとしてWin 7を使用しています。

+0

アプリケーションプールの資格情報は何ですか?リモートの場所にアクセスする権限を持つアカウントで実行してください。 – DmitryK

+0

私はアプリケーションプールに対しても同じ資格情報を設定します。 –

+0

リモートマシン名とは何ですか?パスは次のようになります:\\ remotemachinename \ lo1dc \ abcd \ Admin \ Images – DmitryK

答えて

3

、ネットワークパスは、匿名ユーザーがアクセスすることはできません。だから

SPSecurity.RunWithElevatedPrivileges 

私のためのトリックを行った。 貴重なご支援をいただき、ありがとうございます。

0

あなたはLogonUser関数使用して、ローカルユーザーとしてログインすることができます

 [DllImport("advapi32.dll", SetLastError = true)] 
     private static extern bool LogonUser(string lpszUsername, string lpszDomain, string lpszPassword, int dwLogonType, int dwLogonProvider, ref IntPtr phToken); 

     // types 
     const int LOGON32_LOGON_INTERACTIVE = 2; 
     const int LOGON32_LOGON_NETWORK = 3; 
     const int LOGON32_LOGON_NEW_CREDENTIALS = 9; 

     // providers 
     const int LOGON32_PROVIDER_DEFAULT = 0; 
     const int LOGON32_PROVIDER_WINNT35 = 1; 
     const int LOGON32_PROVIDER_WINNT40 = 2; 
     const int LOGON32_PROVIDER_WINNT50 = 3; 

を使用:最後に、私は答えを見つけた

IntPtr token = IntPtr.Zero; 
LogonUser("User Name", "Domain Name", "Password", LOGON32_LOGON_NEW_CREDENTIALS, LOGON32_PROVIDER_DEFAULT, ref token); 

using (WindowsImpersonationContext user = new WindowsIdentity(token).Impersonate()) 
{ 
    // Do file operations here... 
} 
関連する問題