IIS では、[機能] ビューを使用してフォルダー レベルの設定を行うことができます (スクリーンショットを参照)。Web サイトのいくつかのサブフォルダーに対して匿名認証を無効にし、それらの設定をソース管理に保存したいと考えています。IIS がこれらの設定をどこに保存するか知りたいです。それらは、Web サイト web.config またはサブフォルダー内の web.config にはありません。IIS の設定をソース コードと一緒に保存する方法はありますか?それとも、新しい展開ごとにこれらのタスクを実行する必要がありますか?
1 に答える
web.config
セキュリティで保護する各フォルダーのルートに次を追加します。
<location path="secure_folder">
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="false" />
<basicAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
</location>
上記は、基本認証を使用していることを前提としています。
または、各サブフォルダーに を作成して、web.config
ほとんど同じように保護します (<location>
タグなしを除く:
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="false" />
<basicAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
次のようなエラーが発生した場合:
この操作の実行中にエラーが発生しました。
詳細:
ファイル名: \?\d:\sites\play1\www\web.config
ライン数: 15
エラー: この構成セクションは、このパスでは使用できません。これは、セクションが親レベルでロックされている場合に発生します。ロックはデフォルト (overrideModeDefault="Deny") か、overrideMode="Deny" または従来の allowOverride="false" を使用したロケーション タグによって明示的に設定されます。
次に、 と の構成設定に読み取り/書き込みアクセス許可が委任されていない<anonymousAuthentication>
ことを意味します。<basicAuthentication>
これを調整するには、IIS マネージャーを起動し、機能委任マネージャーを開きます。
これを行うと、制御できる機能とその委任状態のリストが表示されます。
を右クリックしAuthentication - Anonymous
て選択しますRead/Write
。についても同じことを行いAuthentication - Basic
ます。
この機能委任設定は、サーバー上のすべてのサイトにグローバルに適用されますが、カスタム サイト委任を使用して特定のサイトに合わせて微調整することができます。
IIS 7.x/8.0 機能委任の詳細については、次を参照してください。