0

私のサーバーマシンには以下が含まれます:

  1. IIS7.
  2. ウィンドウサーバー2008.
  3. Linux マシンの Z ドライブとしてマップされたネットワーク ドライブ。
  4. サーバー コンピューターでホストされる ASP.NET MVC 3 アプリケーション。

問題:

複数のファイルをローカル ドライブにアップロードできるが、サーバー マシンのネットワーク ドライブ (私の場合は Z:/) にアップロードできない asp.net mvc 3 アプリケーションを作成しました。エラーが表示されます:

Could not find a part of the path 'Z:\uploadfolder\sdlkfjsdl.wav'.

次に、フォルダー (uploadfoler) のセキュリティ オプションを確認しました。このオプションでは、ネットワーク サービス ユーザーがフル コントロールまたは書き込み権限を持っていません。ここでの問題は、NETWORK SERVICE ユーザーの権限を追加する権限がなく、ネットワーク ドライブが LINUX manchine に属していることです。

別の解決策を探しているときに、なりすましという概念を見つけました。私はこの概念に完全に慣れていません。これは私のシナリオで私の問題を解決できますか? または、他の代替ソリューションはありますか?

4

2 に答える 2

1

アプリケーションは別の IIS アプリケーション プールで実行する必要があります。IIS では、ユーザーをアプリケーション プールに割り当てることができます。このユーザーには、ネットワーク ドライバーへの書き込みアクセス権が必要です。

http://technet.microsoft.com/en-us/library/cc753842(v=ws.10).aspxを参照してください。

于 2013-01-16T11:11:37.720 に答える
0

OK、Z:\ はネットワーク ドライブですが、ネットワーク ドライブのマッピングなしで IIS をホストしているマシン上にありますか? 別のマシン上にある場合は、UNC パス (つまり、\server\path\folder\filename.ext) を使用する必要があります。これは、IIS を実行しているユーザーがマッピングされていないためです。

アプリケーション プールにユーザーを「追加」するのではなく、ネットワーク サービスまたはアプリケーション プール ID の代わりに、名前付きユーザーとして実行される明示的なアプリケーション プールを作成します。アプリケーション プールを作成するときに、それを実行するユーザーを指定できます。特定のバージョンの IIS については、これに関する多くの情報を見つけることができます。

この名前付きユーザーには、構成した UNC パスへの書き込み/読み取りのアクセス許可が必要です。

于 2013-01-16T11:52:17.193 に答える