共用方式為


System.XML 的安全性加強概觀

發行 .NET Framework 1.0 版之後所做的數次變更,都可以在 .NET Framework version 1.1 版中發現。這項主題簡短說明變更影響了哪些類別,並提供連結到包含詳細資訊的主題。

XmlReader 及其衍生類別,XmlTextReader 和 XmlValidatingReader

XmlTextReaderXmlValidatingReader 的類別層級中已經置放了繼承需要。您必須完全受信任才可以從這些類別繼承。如需繼承需要的詳細資訊,請參閱繼承需要安全性需要。如需 XmlReader 及其衍生類別所做變更的詳細資訊,請參閱使用 XmlReader 讀取 XML

XmlDocument

XmlDocumentLoad 方法的行為已經修改過。它現在會根據類別是完全受信任或非完全信任而定。如需 Load 方法受影響方式的詳細資訊,請參閱解析外部資源。除此之外,方法層級中的繼承需要已經置於 XmlDocument 方法、ReadNodeCreateDocumentType 上。如需繼承需要的詳細資訊,請參閱繼承需要安全性需要

XslTransform

XslTransform 類別已經有數種不同的行為。下列清單概述這些行為差異:

  • XslTransform 類別可以在非完全信任的程式碼中使用。

  • The XslTransform.Load 方法在 .NET Framework 1.1 版中有新的 Evidence 參數。若需詳細資訊,請參閱 XslTransform 類別實作 XSLT 處理器

  • 在 .NET Framework 1.1 版中,XslTransform.XmlResolver 屬性已經過時。取而代之的是使用新的 XslTransform.Transform 多載,它被幾乎完全相同的方法取代,但是多了 XmlResolver 引數。如需詳細資訊,請參閱 XslTransform 類別實作 XSLT 處理器

  • 對於參考外部資源和執行指令碼之樣式表的處理,也已經變更。XslTransform 類別使用 msxsl:script 項目支援內嵌指令碼。在 .NET Framework 1.1 版中,樣式表的辨識項會判定哪些使用權限指定給內嵌指令碼。

    • 如果已經從 URI 載入樣式表,則 URI 會用來建立辨識項。這個辨識項包括 URI 及其網站和區域。
    • 如果樣式表使用其他來源載入,您可以藉由將 System.Security.Policy.Evidence 物件傳遞給 Load 方法以提供辨識項。否則的話,指令碼組件將具有完全信任。

    至於非完全信任的呼叫者,需要 UnmanagedCode 使用權限以編譯內嵌指令碼。需要 ControlEvidence 使用權限,將 Evidence 提供給 Load 方法。如果呼叫者沒有必要的使用權限,將擲回 SecurityException。如需詳細資訊,請參閱 System.Security.Permissions.SecurityPermissionSystem.Security.Permissions.SecurityPermissionFlag

    如需詳細資訊,請參閱解析外部的 XSLT 樣式表和文件

XmlResolver

完全信任的繼承需要,已經置於 XmlResolver 類別的 ResolveUri 方法中。如需繼承需要的詳細資訊,請參閱繼承需要安全性需要

新衍生的類別 XmlSecureResolver,已經加入至 .NET Framework 1.1 版。這個類別允許完全受信任的應用程式,在存取資料和外部資源時提供識別項。如需詳細資訊,請參閱解析由 URI 命名的外部 XML 資源

請參閱

.NET Framework 中的 XML 架構概觀 | XML 文件物件模型 (DOM) | 使用 XmlReader 讀取 XML | 使用 XmlWriter 寫入 XML | 使用 XslTransform 類別進行 XSLT 轉換 | .NET Framework 中的 XPathNavigator | XML 結構描述物件模型 (SOM) | 使用結構描述驗證 XML | XML 與關聯式資料和 ADO.NET 互相整合 | 解析由 URI 命名的外部 XML 資源 | XML 名稱的字元解碼和 XML 資料型別轉換 | XML 資料型別轉換 | XML 文件中的命名空間