2009-12-13 10 views
9

VSTS 2008 + C#+ .Net 3.5 + IIS 7.0を使用しています。私は新しいWebサイトを作成し、そのディレクトリにhtmlファイルを置いています。そして、私がIISマネージャのブラウズ機能を使ってhtmlファイルをブラウズすると、次のエラーが発生しました。IIS 7.0のhtmlページへの不正アクセスエラー

ところで、私は管理者アカウントでワーカープロセスを実行するので、不正なエラーについて非常に混乱しています。エラーメッセージから、私はなぜログオンメソッドが匿名で、管理者アカウントを使用していないのか混乱していますか?

HTTP Error 401.3 - Unauthorized 
You do not have permission to view this directory or page because of the access control list (ACL) configuration or encryption settings for this resource on the Web server. 

Module IIS Web Core 
Notification AuthenticateRequest 
Handler StaticFile 
Error Cde 0x80070005 
Requested URL http://localhost:80/a.html 
Physical Path C:\test\simplehosttest\a.html 
Logon Method Anonymous 
Logon User Anonymous 
+1

ディレクトリ閲覧を有効にしましたか? – mglmnc

+0

iisのインストール時に、静的コンテンツ/静的ファイルハンドラを有効にしましたか? – iwo

+0

ありがとうございましたmglmnc、 "あなたはディレクトリ閲覧を有効にしましたか?" - 確認方法?以前はこれをしなかった。 – George2

答えて

17

C:\テスト\ simplehosttest \ a.html

IUSRこのファイルやそのフォルダに必要な権限をアカウントに付与してください。その後、401.3のエラーが消えます。

+0

私はすでにワーカープロセスのアカウントを管理者に設定していますが、なぜまだパーミッションの問題がありますか?管理者はIUSRよりも強力であるべきですか? – George2

+0

IUSRを追加しようとしましたが、うまく動作します!なぜIUSRを使用して問題を解決できるのでしょうか?この特別なユーザーは? – George2

+3

デフォルトの匿名ユーザーアカウントとしてIUSRが使用されています。つまり、サイトが匿名でアクセス可能な場合、IISはすべてのユーザーのログオンアカウントとしてIUSRアカウントを使用します。次に、IUSRにアクセスできるようにIUSRに必要なアクセス許可を与える必要があります。 –

1

基本的には、IISのアプリケーションプールを実行するIDにファイルへの読み取りアクセスを許可する必要があります。 2008サーバとVistaでは、明示的に変更していない限り、「NT Authority \ Network Service」となり、windows7では「IisAppPool \ AppPoolIdentity」となります(なぜwin7でこれを行ったのか尋ねません。あなたが私に尋ねるなら)

+0

私は、 "AppPoolIdentity"と呼ばれるユーザー名が混乱していますか? – George2

+0

ユーザー "IUSR"にhtmlページのアクセス許可を追加しようとしましたが、それは機能します。なぜIUSRを使用して問題を解決できるのでしょうか?この特別なユーザーは? – George2

+0

ありがとう、 "WTF"はどういう意味ですか? – George2

0

私は同じ問題を抱えていましたが、提案された修正のどちらも私の問題を解決しませんでした。私はWindows Server 2008上のIIS7にフォーム認証を持つASP.Net 4.0 Webアプリケーションを展開しようとしていました。この問題を解決したのは、ハンドラマッピングを開いて「編集機能右側のメニューから「権限」を選択します。

0

私が配備していたウェブサイトがzipファイルで私に送られたという点で、この問題のもう一つの原因が見つかりました。何らかの理由で(おそらく、ファイルがMac上に構築されているため)、Encrypted for Securityビットが設定されているファイルが設定されています。ファイルはWindowsエクスプローラで緑色で表示されます。

13

IIS 8.5(新規インストール)では、アプリケーションのプールをカスタムIDとして実行し、/ inetpub/wwwroot以外のフォルダに保存しました。アイデンティティはすべて適切なファイル権限を持っていましたが、引き続きaclエラーが発生しました。

IISマネージャー - >「個人用サイト」 - >「認証」 - >「匿名認証」 - >「匿名認証用のIDの編集」で特定のユーザー(既定ではIUSR)に設定されていることがわかりました。アプリケーションプールIDを使用するように設定すると、私のために修正されました!

+1

これはすぐに私のためにもそれを修正します、誰が 'アプリケーションプールID'の代わりにIUSRにデフォルト設定されているのかについて誰かがコメントできますか? –

関連する問題