C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: ファイルのアップロードについて


(過去ログ 130 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■76804 / inTopicNo.1)  ファイルのアップロードについて
  
□投稿者/ 鏡月 (50回)-(2015/08/18(Tue) 17:38:36)

分類:[.NET 全般] 

いつも大変お世話になっております。
サーバー関係の設定に関してあまり不慣れな為、下記の内容について教えて頂きたいと考えております。

環境
アプリケーションサーバー
OS:Windows Server2008 r2
IE:8

ファイルサーバー
OS:Windows Server2008 r2

ASP.NETでファイルアップロード用のWebサイトを作製しようと考えております。
ファイルをアップロードする際にファイルサーバー上に事前に作成した共有フォルダ内にファイルをアップロードしようと考えているのでが
権限がありませんとのエラーが出力されてしまいファイルのアップロードをすることが出来ません。

上記の処理を行う場合、共有フォルダの権限の設定はどのようにすればよろしいのでしょうか。

お手数お掛けしますがご教授をお願い致します。
引用返信 編集キー/
■76805 / inTopicNo.2)  Re[1]: ファイルのアップロードについて
□投稿者/ 魔界の仮面弁士 (451回)-(2015/08/18(Tue) 18:14:10)
2015/08/18(Tue) 18:33:00 編集(投稿者)

No76804 (鏡月 さん) に返信
> ファイルサーバー上に事前に作成した共有フォルダ内にファイルをアップロードしようと考えているのでが

とりあえず、このあたりとか。
https://msdn.microsoft.com/ja-jp/library/xh507fc5.aspx
https://creativeweb.jp/tips/iis_acl/
引用返信 編集キー/
■76807 / inTopicNo.3)  Re[1]: ファイルのアップロードについて
□投稿者/ WebSurfer (643回)-(2015/08/19(Wed) 11:57:28)
No76804 (鏡月 さん) に返信

> 権限がありませんとのエラーが出力されてしまいファイルのアップロードをすることが出来ません。

原因はワーカープロセスに必要なアクセス権がないからだと思います。

Web サーバーとファイルサーバーが同一 PC にある場合は以下の記事の「ファイルアク
セス」のセクションに書いてあるように、ワーカープロセスに適当な権限を与えれば問
題は解決すると思います。

How To: ASP.NET で Network Service アカウントを使用してリソースにアクセスする方法
https://msdn.microsoft.com/ja-jp/library/ms998320.aspx

上の記事は IIS6 のもので、質問者さんのケースでは IIS7.5 と思いますが、その場合、
NETWORK SERVICE はアプリケーションプール名、IIS_WPG は IIS_IUSRS に読み替えてく
ださい。

IIS_IUSRS, アプリケーションプール名に関して、詳しくは以下の記事を見てください。

IIS 7.0 での組み込みユーザーとグループ アカウントとは
https://technet.microsoft.com/ja-jp/library/dd939094.aspx

アプリケーション プール ID
https://technet.microsoft.com/ja-jp/library/ee886292.aspx


Web サーバーがファイルサーバーにリモートアクセスする場合は、一番上に紹介した記事
の「リモート SQL Server へのアクセス権を付与する」のセクションに書いてあるように、
DomainName\AspNetServer$ という書式を使用します。この場合、Web サーバー、ファイル
サーバーが Active Directory ドメイン環境に属している必要があります。

ドメインユーザーの権限別に細かくファイルサーバーへのアクセスを制限したい場合は、
偽装 / 委任という設定を行う必要があります。

How To: ASP.NET 2.0 で偽装と委任を使用する方法
https://msdn.microsoft.com/ja-jp/library/ms998351.aspx

上の記事の図1のように Web サーバーとファイルサーバー(図1では Local Resources)
が同一 PC にある場合は「偽装」だけでいいですが、Web サーバーとファールサーバーが
別々の PC にあってリモートアクセスする場合は「委任」が必要となりますので、注意
してください。
引用返信 編集キー/
■76808 / inTopicNo.4)  Re[2]: ファイルのアップロードについて
□投稿者/ なちゃ (62回)-(2015/08/19(Wed) 13:52:07)
サーバがドメイン環境にある場合は、WebSurferさんが書いているようにコンピユータアカウントでファイルサーバのリソースに簡単にアクセスできます。
なんかややこしいように見えるかもしれませんが、要はファイルサーバの共有へのアクセス許可で、Webサーバのコンピュータを追加するということです。
デフォルトのASP.NETの実行アカウントはネットワークリソースへのアクセス権をデフォルトでもっていますので、特に何も気にしなくても、ファイルサーバ側でWebサーバにアクセス許可を与える、というやり方で行けます。

ドメイン環境出はない場合は、WNetAddConnection2関数などを使用して、ネットワーク共有に接続してからアクセスする必要があるはずです。
その際に、共有側でアクセス許可したユーザ・パスワードで接続するようにします。
※このユーザ・パスワードは、ファイルサーバ側のアカウントです。
引用返信 編集キー/
■76809 / inTopicNo.5)  Re[3]: ファイルのアップロードについて
□投稿者/ なちゃ (63回)-(2015/08/19(Wed) 13:56:34)
あとは、独自アカウントでASP.NETを実行するようにして、その独自アカウントでネットワークドライブに割り当てておき、アプリプールの設定でユーザープロファイルのロードを有効にする、とかいった方法でももしかしたら出来るかもしれません。
※出来たとしてもあまりおすすめはできませんが

引用返信 編集キー/
■76810 / inTopicNo.6)  Re[2]: ファイルのアップロードについて
□投稿者/ 鏡月 (51回)-(2015/08/19(Wed) 14:28:26)
魔界の仮面弁士様、WebSurfer様、なちゃ様
ご回答ありがとうございます。

返信が遅くなってしまい誠に申し訳ございませんでした。
格闘した結果無事にファイルアップロードをすることが出来ました。

皆様の分かりやすい説明のお陰で少し詳しくなった気がします。
本当にありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -