trust 項目 (ASP.NET 設定結構描述)
設定套用至應用程式的程式碼存取安全性 (CAS) 層級。 如果您要執行低於 Full 之信任的 Web 應用程式,請使用這個項目。
<trust
hostSecurityPolicyResolverType ="security policy resolution type"
legacyCasModel = "[True|False]"
level="[Full|High|Medium|Low|Minimal]"
originUrl="URL"
permissionSetName = "name of the permission set"
processRequestInApplicationTrust = "[True|False]"
/>
屬性和項目
下列章節會說明屬性、子項目和父項目。
屬性
屬性 |
描述 |
---|---|
hostSecurityPolicyResolverType |
選擇性的字串屬性。 指定自訂的安全性原則解析型別。 當這個屬性設定為空字串時,ASP.NET 會使用預設原則來判斷組件的權限。 評估權限的預設原則會對全域組件快取 (GAC) 組件授與完全信任,並對其他組件授與部分信任。 這個屬性不能設定為 null 值。 預設值是空的 string。 |
legacyCasModel |
選擇性的布林值屬性。 指定是否啟用舊版程式碼存取 (CAS) 安全性。 啟用舊版的程式碼存取安全性時,會套用下列安全性規則:
預設值是 false。 |
level |
必要的 String 屬性。 指定將在其下執行應用程式的信任層級。 每個信任層級都對應至使用組態檔中 trustLevel 項目的個別 XML 原則檔。 原則檔會列出每個信任層級授與的權限集合。 如需 ASP.NET 和原則檔的詳細資訊,請參閱 ASP.NET Trust Levels and Policy Files。 這個屬性可以是使用者定義的值 (如果在 securityPolicy 項目 (ASP.NET 設定結構描述) 項目的 trustLevel 項目中定義了相符的安全性原則對應),或是下列其中一個可能的值 (以嚴格程度排列,愈往下愈嚴格)。
值描述
Full 指定無限制的使用權限。授與 ASP.NET 應用程式使用權限,以存取符合作業系統安全性的任何資源。支援所有特殊權限操作。這個設定在 AspNetHostingPermissionLevel 列舉型別中稱為 Unrestricted。
High 指定高等層級的程式碼存取安全性,這表示應用程式預設不能進行下列任一作業:
Medium 指定中等層級的程式碼存取安全性,這表示除了 High 的限制以外,ASP.NET 應用程式預設不能進行下列任一作業:
Low 指定低層級的程式碼存取安全性,這表示除了 Medium 的限制以外,應用程式預設不能進行下列任一作業:
Minimal 指定最低層級的程式碼存取安全性,這表示應用程式只具有執行的權限。
預設為 Full (無限制)。 |
originUrl |
選擇性 String 屬性。 指定要和授與中度信任之受限的 WebPermission 權限搭配使用的 URL。 如果存在,則可以用於某些類別,例如 HttpWebRequest,這可以允許由 WebPermission 所指定之特定的 URL 連接。 如此可讓依賴主機概念的使用權限正常運作。 |
permissionSetName |
選擇性的字串屬性。 指定權限集合的名稱。 預設值為 "ASP.NET"。 |
processRequestInApplicationTrust |
選擇性 Boolean 屬性。 指定是否自動將網頁要求限制為信任原則檔中設定的使用權限,該原則檔會套用至 ASP.NET 應用程式。 信任原則檔在 securityPolicy 項目的 trustLevel 項目中指定。 使用 trust 項目的 level 屬性,可將單一信任原則套用至 ASP.NET 應用程式。 如果設為 False,即使 level 屬性指定其他信任層級,ASP.NET 要求也可在 Full 信任下執行。 除非有特定的理由要這樣做,否則請勿重設這個屬性為預設之 true 以外的值。 這個屬性是 .NET Framework 2.0 版中新增的屬性。 預設為 True。 |
子項目
無。
父項目
項目 |
描述 |
---|---|
configuration |
指定 Common Language Runtime 和 .NET Framework 應用程式所使用之每個組態檔中需要的根項目 (Root Element)。 |
system.web |
指定組態檔中 ASP.NET 組態設定的根項目 (Root Element),並包含會設定 ASP.NET Web 應用程式以及控制這些應用程式之行為的組態項目。 |
備註
trust 項目會設定套用至應用程式的程式碼存取安全性 (CAS) 層級。 安全性原則檔對應至 securityPolicy 集合項目中的信任層級名稱。 原則檔會列出信任層級授與的權限集合。 trust 項目指定將哪個信任層級套用至 ASP.NET 應用程式。 如需 ASP.NET 和原則檔的詳細資訊,請參閱 ASP.NET Trust Levels and Policy Files。
根據預設,Web 應用程式以 Full 信任執行。 程式碼存取安全性原則會授與完全信任應用程式無限制的程式碼存取權限。 這些使用權限包括內建系統和自訂使用權限。 這表示程式碼存取安全性不會阻止您的應用程式存取任何安全資源。 資源存取嘗試的成敗完全由作業系統層級的安全性決定。 如果以 Full 之外的信任層級設定應用程式,則將其視為部分信任的應用程式。 部分信任的應用程式具有受限制的權限,這會限制應用程式對安全資源的存取權。
若要改進裝載環境的安全性,請使用根 Web.config 檔中的 location 項目來包住裝載應用程式的 securityPolicy 和 trust 項目和 allowOverride="False" 屬性阻止應用程式覆寫更接近本機的 Web.config 檔設定。 如果您想要為裝載應用程式設定不同的信任層級,可以選擇性的使用多個 location 項目,每個項目使用不同的 path 屬性。 如需這類組態的範例,請參閱本主題稍後的<範例>。
注意
.NET Framework 1.0 版上建置的 Web 應用程式總是以 Full 信任執行,這是由於 System.Web 中的型別要求完全信任的呼叫端。升級至較新版本的 .NET Framework 時,未測試任何先前存在的應用程式之前,請勿變更信任層級。
預設組態
下列的預設 trust 項目是在根 Web.config 檔中設定。
<location allowOverride="true">
<system.web>
<securityPolicy>
<trustLevel name="Full" policyFile="internal" />
<trustLevel name="High" policyFile="web_hightrust.config" />
<trustLevel name="Medium" policyFile="web_mediumtrust.config" />
<trustLevel name="Low" policyFile="web_lowtrust.config" />
<trustLevel name="Minimal" policyFile="web_minimaltrust.config"/>
</securityPolicy>
<trust
level="Full"
originUrl=""
processRequestInApplicationTrust="true"
/>
</system.web>
</location>
範例
下列程式碼範例將示範如何使用根 Web.config 檔,對所有在伺服器上的 ASP.NET 應用程式指定 Medium 信任層級設定,以及指定 location 項目以鎖定設定。 使用同一組態檔中的另一個 location 項目,可讓 Default Web Site/Temp 應用程式的 Web.config 檔覆寫根 Web.config 檔中的設定。
<location allowOverride="false">
<system.web>
<securityPolicy>
<trustLevel name="Full" policyFile="internal" />
<trustLevel name="High" policyFile="web_hightrust.config" />
<trustLevel name="Medium" policyFile="web_mediumtrust.config" />
<trustLevel name="Low" policyFile="web_lowtrust.config" />
<trustLevel name="Minimal" policyFile="web_minimaltrust.config"/>
</securityPolicy>
</system.web>
</location>
<location allowOverride="false">
<system.web>
<trust level="Medium" originUrl="" />
</system.web>
</location>
<location allowOverride="true" path="Default Web Site/Temp">
<system.web>
<trust level="Medium" originUrl="" />
</system.web>
</location>
項目資訊
組態區段處理常式 |
|
組態成員 |
|
可設定的位置 |
Machine.config 根層次的 Web.config 應用程式層級的 Web.config |
需求 |
Microsoft Internet Information Services (IIS) 5.0、5.1 或 6.0 版 .NET Framework 1.0、1.1 或 2.0 版 Microsoft Visual Studio 2003 或 Visual Studio 2005 |
請參閱
工作
How to: Configure Specific Folders Using Location Settings
How to: Lock ASP.NET Configuration Settings
參考
system.web 項目 (ASP.NET 設定結構描述)
securityPolicy 的 trustLevel 項目 (ASP.NET 設定結構描述)
securityPolicy 項目 (ASP.NET 設定結構描述)
概念
ASP.NET Trust Levels and Policy Files
ASP.NET Trust Levels and Policy Files
其他資源
ASP.NET Web Application Security