- PR -

[VB.NET] Webアプリケーション アクセス権

1
投稿者投稿内容
とぱにゅ
会議室デビュー日: 2004/01/31
投稿数: 7
投稿日時: 2004-02-04 15:13
現在WebアプリでIIS上にフォルダを作成しようとしています。以下のテストコードでまずファイルを自由に作成することができます

Dim Fn as Integer
Fn = FreeFile()
FileOpen(Fn, "C:\Inetpub\Wwwroot\Tekitou.Txt", OpenMode.Binary)
FilePut(Fn, Fn, 1)
FileClose()

で、今回はまずフォルダを作成してから Tekitou.Txt を作成したフォルダ内に作成しようとしたのですが、アクセス権の問題でフォルダを作成することが出来ませんでした。いろいろ確認したり設定変更したりしましたがまだ何かやり忘れてることがあると思いましてここの情報サイトで検索をかけてみましたが見つからないのでスレッドを立ててみました。基本的なフォルダ作成コードの MkDir を試しましたが以下の通りのエラーがでてきてしまいます

---
説明 : 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。

例外の詳細: System.UnauthorizedAccessException: パス "C:\Inetpub\Wwwroot\tekitou" へのアクセスが拒否されました。

この ASP.NET は、要求されたリソースへのアクセスを許可されていません。要求された ASP.NET へのリソースへアクセスを許可するかどうかを検討してください。ASP.NET プロセスには、アプリケーションに偽装が実行されていない場合は、通常、インターネット インフォメーション サーバー 5 では {コンピュータ名}\ASPNET、インターネット インフォメーション サーバー 6 ではネットワーク サービスが使用されます。<identity impersonate="true"/> 経由でアプリケーションに偽装が実行されている場合、ユーザーは、通常 IUSR_MACHINENAME に設定された匿名ユーザーか、または認証された要求ユーザーになります。

ASP.NET の書き込みアクセス権をファイルに設定するには、エクスプローラでファイルを右クリックしてプロパティを表示し、[セキュリティ] タブをクリックします。次に [追加] をクリックして、正しいユーザーまたはグループを追加してから、ASP.NET を反転表示し、希望するアクセス許可の横にあるチェック ボックスをオンにします。
---

上記通りに設定をしてみようとしましたが、どこの説明を元にしているのか内容どおりのメニューとかがありませんでした。とりあえず、以下の環境で使用しています。

Windows XP Pro (標準インストール)
Internet Information Service V5.1 (標準設定)
.NET Framework (Windows Updateで最新版にアップデート済み)
VisualBasic.NET Standard Edition

よろしくお願いします。
とぱにゅ
会議室デビュー日: 2004/01/31
投稿数: 7
投稿日時: 2004-02-04 15:17
::追記::

IISのホームディレクトリとIISで設定した仮想ディレクトリ以外ならフォルダ作成が問題なくできます。今回はIIS内でのフォルダ作成での問題です。
みかん
会議室デビュー日: 2004/02/06
投稿数: 5
お住まい・勤務地: 名古屋市
投稿日時: 2004-02-06 21:40
http://www.microsoft.com/japan/msdn/netframework/upgrade/aspnet_account_readme.asp

ここによると ASP.NET は ASPNET というアカウントで動くそうですが、
書き込み権限はありますか?
とぱにゅ
会議室デビュー日: 2004/01/31
投稿数: 7
投稿日時: 2004-02-16 07:10
一応教えてくれたリンク先の情報を下にやってみました。ローカルでは申し分なく完全なファイル及びフォルダ操作ができます。けれど、リモートから操作するとユーザー名とパスワード入力画面が出てきてしまいます。

最初に書きましたが、普通にファイルは作成することができます。けれど、ファイルの削除、フォルダの作成/削除ができません。

ASP.NET にフルアクセスを与える手順ってWeb.configを編集する以外にどんな手順があるんでしょうか?[コントロールパネル]→[ユーザーアカウント]にASP.NETアカウントらしきものがあるのですが、フルアクセスにしても結局アクセス権が無いとでてきてしまいます・・・[管理ツール]の[ローカルセキュリティポリシー]も少々いじってみたのですがそれでもうまくいきません。
おうみぃ
会議室デビュー日: 2004/02/25
投稿数: 1
投稿日時: 2004-02-25 14:11
外してたらすみません。
もしかして、匿名アクセスユーザでファイル操作させようとしているのに、webconfigで
authentication mode="Windows"
になっているとか?

(テスト時など)ローカルのマシンに対しては、administrator権限で入っているから大丈夫。リモートだと、ASP_NETユーザがソースにアクセスしようとすると、その前にWindows認証が必要になるかと...。
1

スキルアップ/キャリアアップ(JOB@IT)