Share via


Vue d'ensemble des améliorations de la sécurité pour System.XML

Plusieurs changements ont eu lieu depuis la version du .NET Framework version 1.0 et se trouvent dans cette version du .NET Framework version 1.1. Cette rubrique décrit brièvement les classes affectées par ces changements et fournit des liens vers des rubriques qui contiennent des informations détaillées.

XmlReader et ses classes dérivées, XmlTextReader et XmlValidatingReader

La demande d'héritage a été placée au niveau de la classe de XmlTextReader et XmlValidatingReader. Vous devez disposer d'un niveau de confiance suffisant pour hériter de l'une ou l'autre de ces classes. Pour plus d'informations sur les demandes d'héritage, consultez Demandes d'héritage et Demandes de sécurité. Pour plus d'informations sur les changements apportés à XmlReader et sur ses classes dérivées, consultez Lecture de XML avec XmlReader.

XmlDocument

Le comportement de la méthode Load dans XmlDocument a été modifié. Celui-ci dépend désormais si la classe est d'un niveau de confiance partiel ou suffisant. Pour plus d'informations sur la manière dont la méthode Load est affectée, consultez Résolution des ressources externes. De plus, la demande d'héritage au niveau de la méthode a été placée sur les méthodes XmlDocument, ReadNode et CreateDocumentType. Pour plus d'informations sur les demandes d'héritage, consultez Demandes d'héritage et Demandes de sécurité.

XslTransform

La classe XslTransform a acquis plusieurs différences de comportement. La liste suivante présente ces différences de comportement :

  • La classe XslTransform peut s'utiliser à partir de code d'un niveau de confiance partiel.

  • La méthode XslTransform.Load possède un nouveau paramètre Evidence dans le .NET Framework version 1.1. Pour plus d'informations, consultez Implémentation du processeur XSLT par la classe XslTransform.

  • La propriété XslTransform.XmlResolver est obsolète dans le .NET Framework version 1.1. Pour la remplacer, utilisez les surcharges new XslTransform.Transform qui sont remplacées par des méthodes presque identiques à l'exception de l'ajout de l'argument XmlResolver. Pour plus d'informations, consultez Implémentation du processeur XSLT par la classe XslTransform.

  • Le traitement des feuilles de style qui référencent des ressources externes et des feuilles de style qui exécutent des scripts a changé. La classe XslTransform prend en charge l'écriture de scripts incorporés à l'aide de l'élément msxsl:script. Dans le .NET Framework version 1.1, la preuve de la feuille de style détermine les autorisations qui sont accordées aux scripts incorporés.

    • Si la feuille de style a été chargée depuis un URI, cet URI est utilisé pour créer la preuve. Cette preuve comprend l'URI ainsi que son site et sa zone.
    • Si la feuille de style a été chargée à l'aide d'une autre source, vous pouvez fournir des preuves en passant un objet System.Security.Policy.Evidence à la méthode Load. Dans le cas contraire, l'assembly script possède un niveau de confiance suffisant.

    Pour des appelants d'un niveau de confiance partiel, l'autorisation UnmanagedCode doit compiler le script incorporé. L'autorisation ControlEvidence est obligée de fournir Evidence à la méthode Load. SecurityException est levé si l'appelant ne possède pas les autorisations nécessaires. Pour plus d'informations, consultez System.Security.Permissions.SecurityPermission et System.Security.Permissions.SecurityPermissionFlag.

    Pour plus d'informations, consultez Résolution de feuilles de style XSLT externes et de documents.

XmlResolver

Une demande d'héritage pour un niveau de confiance suffisant a été placée à la méthode ResolveUri dans la classe XmlResolver. Pour plus d'informations sur les demandes d'héritage, consultez Demandes d'héritage et Demandes de sécurité.

Une nouvelle classe dérivée, XmlSecureResolver, a été ajoutée au .NET Framework version 1.1. Cette classe permet aux applications d'un niveau de confiance suffisant de fournir des preuves lors de l'accès aux données et aux ressources externes. Pour plus d'informations, consultez Résolution des ressources XML externes nommées à l'aide d'un URI.

Voir aussi

Vue d'ensemble de l'architecture XML dans le .NET Framework DOM XML | Lecture de XML avec XmlReader | Écriture de XML avec XmlWriter | Transformations XSLT avec la classe XslTransform | XPathNavigator dans le .NET Framework | Modèle d'objet de schéma XML (SOM) | Validation XML à l'aide de schémas | Intégration de XML aux données relationnelles et à ADO.NET | Résolution des ressources XML externes nommées à l'aide d'un URI | Codage de caractères des noms XML et conversion des types de données XML | Conversion des types de données XML | Espaces de noms dans un document XML