HOW TO:鎖定 ASP.NET 組態設定
更新:2007 年 11 月
根據預設,子目錄內的 ASP.NET 組態檔會覆寫和擴充父組態檔內宣告的組態設定。在應用程式裝載案例中,您可能想要鎖定 ASP.NET 應用程式的某些設定以避免在較低層級遭到修改。例如,您可以鎖定已裝載應用程式的安全性設定,以避免系統管理員不慎變更這些安全性設定。
您可以將 allowOverride 屬性 (Attribute) 加入 location 項目,並且將 allowOverride 屬性 (Attribute) 設定為 false,鎖定 ASP.NET 組態檔 (Web.config 檔) 中的組態設定。然後在 location 項目內定義想要鎖定的組態區段。如果其他組態檔嘗試覆寫這個已鎖定之 location 項目內定義的任何組態區段,ASP.NET 將會擲回例外狀況。
請搭配 allowOverride=false 屬性 (Attribute) 使用 location 項目以鎖定整個組態區段。您也可以使用 lockItem、lockElements、lockAttributes、lockAllAttributesExcept 和 lockAllElementsExcept 鎖定個別組態項目和屬性。如需詳細資訊,請參閱 Section 項目繼承的一般屬性。
範例
下列程式碼範例示範鎖定兩個不同 ASP.NET 應用程式: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>