2012-03-15 3 views
0

私はASP.Net WebサイトとC#コンソールアプリケーションを持っています(どちらもVS2010で開発されました)。両方のファイルをWebサーバー(Windows Server 2003/IIS 6.0)にアップロードします。 Webサイトにログインしているユーザーは、これらのファイルを表示およびダウンロードできます。 これはウェブサイトで正常に動作します。パス「C:¥xxx¥yyy¥zzz¥abcd_20120309.pdf」へのアクセスが拒否されました。

 UnauthorizedAccessException 
     Access to the path 'C:\xxx\yyy\zzz\abcd_20120309.pdf' is denied. 

私はすでに手動でそのフォルダのNETWORK SERVICEアカウントに「フルコントロール」を提供している:私は、コンソールアプリケーションによってアップロードされたファイルをダウンロードしようとすると、しかし、私はエラーを取得します。

なぜAsp.Netコードがコンソールアプリケーションによって作成されたフォルダにアクセスできないのですか?

ありがとう!

アプリケーションが最初の一時フォルダにファイルを保存し、その後、ターゲットフォルダに移動:それは、この場合に重要が、私は過去に見てきた一つのことがあれば

+0

私はネットワークサービスアカウントがASPによって使用されているとは思わない。 IUSR_ ..で始まるユーザーがいますが、リスクを知らない – mslliviu

+0

@mslliviuは完全にconfigに依存しますが、ASP.NETがデフォルトのASP.NETアカウントを使用している場合は実際にこの問題が発生する可能性があります –

+0

こんにちはMarc、設定ファイルにImpersonationタグを追加していないので、ASP.Netはデフォルトアカウントを使用しています。私のウェブサイトはIIS 6.0上で動作しているので、デフォルトユーザーはNETWORK SERVICEと考えられます。私が間違っていれば私を修正してください。 – KhD

答えて

0

は知ってはいけません。

正確なルールがわからないことがありますが、ファイルのアクセス権は移動中のファイルに従います。すなわち、ファイルはターゲットフォルダ内であっても一時フォルダのアクセス権で終わる。

ファイルのアクセス権を確認し、それがターゲットフォルダと異なるかどうかを確認してください。

1

IIS_IUSRS(またはこの行に沿ったもの)のフォルダへのアクセスを提供する必要があります。

あなたはIISにアクセスする必要があります。

誰もがアクセスできますが、このユーザーは含まれません。したがって、それは直接行う必要があります。

ネットワークサービスでは不十分です。

IIS_IUSRSがリストに表示されない場合は、それを検索します。

関連する問題