2009-07-20 8 views
1

我々は場所で当社のサーバーにインストールされた.NET Webアプリケーションを持っている:C:\Inetpub\fmtool\Webサーバアプリケーションのアクセス許可の問題

当社のユーティリティの一つは、インストールしたディレクトリのサブフォルダにファイルをアップロードします。

このアップロードされたファイルのフォルダ構造をプログラムで作成して、フォルダ構造の完全性を保証します。これはうまく動作します。

実際のファイルコピー(aspファイルのアップロードコントロールを使用)では、アクセスが拒否されたというアクセス許可エラーが発生します。

私は、サーバー上でアプリケーションを実行しているユーザーアカウントがファイルシステム(開発中)を完全に制御できることを確認しましたが、このアクセス拒否エラーが発生します。

のFileUploadは、まっすぐ進むようだ:私たちは、このローカルを実行していた場合

fuiUpload.SaveAs(path); 

が「パスが」のWeb.Config

<add key="ActualsImportPath" value="C:\Inetpub\fmtool\ActualsImport\Alpha"/> 

から引き出された我々は完全修飾サーバー情報が必要になります正しいものか?例えば

<add key="ActualsImportPath" value="\\SERVER-NAME\c$\blah"/> 

UPDATE:

私のコードを検査した後。私は目障りなエラーを発見した。私は実際にSaveAs()を処理しようとしていたときに完全な "path"変数を設定していませんでした。簡単な間違いは、とても大きなトラブルを引き起こしました。助けてくれてありがとう。後

if (fuiUpload.HasFile) 
{ 
    // Did not have the complete path here..... 
fuiUpload.SaveAs(path); 

// Run the importer 
switch (rblImportType.SelectedValue) 
{ 
    case "0": 
    path += @"\Nightly Costing\" + DateTime.Now.ToString("yyyyMMdd") + "-NightlyCosting.csv"; 
    break; 

::前に、以下の

興味があれば、コードを参照してください。これはIIS 6.0サーバーである場合

if (fuiUpload.HasFile) 
{ 
// Run the importer 
switch (rblImportType.SelectedValue) 
{ 
    case "0": 
    path += @"\Nightly Costing\" + DateTime.Now.ToString("yyyyMMdd") + "-NightlyCosting.csv"; 
    fuiUpload.SaveAs(path); 
    break; 
+0

スティックは、マシン名を追加し、問題を複雑にするだけで共有する前に、もし興味

下のコードを参照してください。おそらく愚かな提案だが、見落としやすいものは、アップロードディレクトリにreadonlyフラグが設定されているかどうかチェックしたか? –

答えて

0

。私は目障りなエラーを発見した。私は実際にSaveAs()を処理しようとしていたときに完全な "path"変数を設定していませんでした。簡単な間違いは、とても大きなトラブルを引き起こしました。助けてくれてありがとう。後

if (fuiUpload.HasFile) 
{ 
    // Did not have the complete path here..... 
    fuiUpload.SaveAs(path); 

    // Run the importer 
    switch (rblImportType.SelectedValue) 
    { 
     case "0": 
     path += @"\Nightly Costing\" + DateTime.Now.ToString("yyyyMMdd") + "-NightlyCosting.csv"; 
     break; 

:旧設定オプションを使用して

if (fuiUpload.HasFile) 
{ 
// Run the importer 
switch (rblImportType.SelectedValue) 
{ 
    case "0": 
    path += @"\Nightly Costing\" + DateTime.Now.ToString("yyyyMMdd") + "-NightlyCosting.csv"; 
    fuiUpload.SaveAs(path); 
    break; 
0

、フォルダのアクセス許可を作成/書き込みネットワークにサービスを提供する必要があります。

"ネットワークサービス" IDはWebサイトの既定値であることに注意してください。上記の修正が機能しない場合は、[アプリケーション]フォルダに関連付けられているアプリケーションプールの[ID]タブを確認します。

+0

これを試してみました..残念ながら、それは動作しませんでした...しかし、答えをありがとう –

1

あなたのアップデートを理解していれば、問題は解決しましたか?私は、ネットワークユーザーアカウントのアクセス許可の設定についてコメントしたいと思っていました。このアカウントにファイルCRUDアクセスを与えることは、一般的にはベストプラクティスではありません。そのアカウントには、その種のアクセス権を与えるにはあまりにも多くの権限があります。 Webアプリケーションからファイルシステムにアクセスする唯一の目的のためにアカウントを作成することをお勧めします。次に、偽装を使用して、ファイルシステムにアクセスするコードに、そのアカウントを装って行うことができます。

あなたはうまく動作していますか?私のコードを検査した後

デイブRanck www.daveranck.com [fitnessforeveryman.com] [2]