方法 : ASP.NET 構成設定をロックする
更新 : 2007 年 11 月
既定では、サブディレクトリにある ASP.NET 構成ファイルは、それより上位にあるディレクトリの構成ファイルで定義された構成設定をオーバーライドおよび拡張します。アプリケーション ホストのシナリオでは、下位レベルでの変更を防止するために ASP.NET アプリケーションの一部の設定をロックした方が良い場合があります。たとえば、ホストされたアプリケーションのセキュリティ設定をロックすることにより、管理者が不用意にそのセキュリティ設定を変更することを防止できます。
location 要素に allowOverride 属性を追加し、allowOverride 属性に false を設定することにより、ASP.NET 構成ファイル (Web.config ファイル) 内の構成設定をロックできます。次に、location 要素でロックする構成セクションを定義できます。ロックされた location 要素で定義する構成セクションを別の構成ファイルでオーバーライドしようとすると、ASP.NET により例外がスローされます。
allowOverride=false 属性を持つ location 要素を使用すると、構成セクション全体がロックします。また、lockItem、lockElements、lockAttributes、lockAllAttributesExcept、および lockAllElementsExcept を使用して個別の構成要素および属性をロックできます。詳細については、「セクションの要素によって継承される全般属性」を参照してください。
使用例
次のコード例は、2 つの異なる application1 および application2 の信頼レベルをロックする Web.config ファイルの抜粋です。trust 構成セクションの構成設定のオーバーライドを試みると常に、構成システム エラーが発生します。
<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>