構成設定のロック
更新 : 2007 年 11 月
既定では、サブディレクトリにある構成ファイルは、それより上位にあるディレクトリの構成ファイルで定義されたすべての構成設定をオーバーライドおよび拡張します。アプリケーションのホスト シナリオでは、管理者は設定が変更されることを防ぐために、サイトの設定をロックしたり、設定の一部を変更できなくしたりする必要が生じる場合がよくあります。たとえば、システムに対する攻撃のリスクを軽減するために、ホスト対象アプリケーションのサンドボックス セキュリティ設定をロックする必要がある場合があります。
構成設定をロックするには、<location> ディレクティブに allowOverride="false" 属性を追加します。これにより、このロックされた <location> ディレクティブ内で定義されたなんらかの構成セクションを下位の構成ファイルがオーバーライドしようとすると、構成システムからエラーがスローされます。
2 種類の ASP.NET アプリケーション (application1 および application2) の信頼レベルをロックする構成ファイル (メイン システムのレベルまたはサイト レベルに保存可能) の例を次に示します。その他に使用可能なロックの属性には、lockItem、lockAttributes、および lockElements などがあります。詳細については、「セクションの要素によって継承される全般属性」を参照してください。
<configuration>
<location path="application1" allowOverride="false">
<system.web>
<trust level="High"/>
</system.web>
</location>
<location path="application2" allowOverride="false">
<system.web>
<trust level="Medium"/>
</system.web>
</location>
</configuration>
上のコード例の構成設定を次のコード例の構成設定でオーバーライドしようとすると、構成システム エラーが生成されます。
<configuration>
<system.web>
<trust level="Full"/>
</system.web>
</configuration>