2009-10-23 15 views
5

win2k3サーバー上のIIS 6.0を実行しているWebサーバー上にある.net Webサイトがあります。これには、UNC名でファイルサーバーを指す仮想ディレクトリが含まれます。 「接続先」は、Webアプリケーションにアクセスできるだけでなく、ファイルサーバーフォルダへの書き込みと変更を行うADドメイン内のサービスアカウントを使用するように設定されています。私は現在、サービスアカウントで別名を使用しており、Webサーバー上のMiscrosoft.net tempファイルフォルダに適切なアクセス許可を設定しています。ディレクトリの作成やファイルの保存ができません。どんな情報も高く評価されます。FileUpload .netリモートファイルサーバー上の仮想フォルダへのファイルの制御と保存

答えて

2

最初に、 "Connect as"パスワードはメモリに永久にキャッシュされず(再起動)、残念なことにその接続方法の代替手段を探す必要があります。

第2に、ASP.NETワーカーアカウント "IUSR_IISマシン名"は、書き込み先のディレクトリにアクセスできますか?私はそれがリモートサーバー上の既知のユーザーではないので、いいえと仮定しています。これは、「Everyone」の特別なユーザー/オブジェクトに(特定のシナリオで)アクセス権を与える必要があることを意味します。

代わりに、両方のホストに知られているユーザーを使用して接続することもできます。

+0

を私がサービスを持っていることは、私たちのADドメインにあるセットアップアカウント。私はアイデンティティエントリと(仮想フォルダ内のファイルを見るために働く)connect asのweb.configにそのサービスアカウントを設定しましたが、書き込みには役立ちません。私がネット上で見つけたいくつかの記事から、これらのファイルをキャッシュするために必要なWebサーバー上の.net tempfileフォルダに追加の変更を追加しました。私は問題の一部がUNCの名前であり、アイデンティティがどのように渡されたのかと思います。コードスニペットを別のコメントに添付します。 –

+0

default.aspxの : string SaveLocation = Server.MapPath( "/")+ "ServerInspectionFilePath" + "\\" + ClientFileName;コードスニペットを添付します。 from web.config: パスの構文/形式がオフであると思います。私はWebサーバー上でリモートデバッグを余儀なくされるかもしれません。 –

0

私はこれで今動作しています。 1. Webサーバーとファイルサーバーにアクセス可能なドメイン内の期限切れではないパスワードを持つサービスアカウント 2.適切な仮想フォルダを作成するには、適切なパスワードを使用してサービスアカウントに設定します。 3.サービスアカウントへの書き込み権限をサーバーの.net Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Filesディレクトリに与える必要があります。 4.サービスアカウントには、ファイルフォルダ への読み取り/書き込み/変更アクセス権が与えられている必要があります。5.「別名で保存」は、ファイルサーバーの完全なUNC名でなければなりません。 server.mapのパスは使用しないでください:\ myserver \ sharename \ directory \ + filenameのようなフォルダのフルネーム。私はキーと値のペアとしてweb.configに私を保存しています。

これで要約されます。

コードスニペット:

(!uploadDoc.FileName = "")場合 { を試してみてください {

   if (!Directory.Exists(MyFilePath)) 
        Directory.CreateDirectory(ServerFilePath); 


       if (!File.Exists(Server.MapPath(ServerFileName))) 
       { 
        uploadDoc.PostedFile.SaveAs(SaveLocation); 
       } 
関連する問題