Condividi tramite


Cenni preliminari sui miglioramenti alla protezione per System.XML

Dopo il rilascio di .NET Framework versione 1.0 al prodotto sono state apportate varie modifiche, presenti in .NET Framework versione 1.1. In questa sezione vengono brevemente descritte le classi influenzate dalle modifiche e vengono forniti collegamenti ad argomenti che contengono informazioni più dettagliate.

XmlReader e le relative classi derivate, XmlTextReader e XmlValidatingReader

È stata inserita una richiesta di ereditarietà a livello delle classi XmlTextReader e XmlValidatingReader. Per ereditare da una di queste classi è necessario disporre di attendibilità totale. Per ulteriori informazioni sulla richiesta di ereditarietà, vedere Richieste di ereditarietà e Richieste di protezione. Per ulteriori informazioni sulle modifiche a XmlReader e alle relative classi derivate, vedere Lettura dell'XML con XmlReader.

XmlDocument

Il comportamento del metodo Load in XmlDocument è stato modificato e ora varia a seconda che una classe sia completamente attendibile o semi-trusted. Per ulteriori informazioni sulle modifiche al metodo Load, vedere Risoluzione di risorse esterne. È inoltre stata aggiunta una richiesta di ereditarietà a livello di metodo sui metodi di XmlDocument, ReadNode e CreateDocumentType. Per ulteriori informazioni sulla richiesta di ereditarietà, vedere Richieste di ereditarietà e Richieste di protezione.

XslTransform

Sono state apportate alcune modifiche al comportamento della classe XslTransform. Le differenze introdotte sono elencate di seguito:

  • La classe XslTransform può essere utilizzata da codice semi-trusted.

  • In .NET Framework versione 1.1 al metodo XslTransform.Load è stato aggiunto un nuovo parametro Evidence. Per ulteriori informazioni, vedere Implementazione del processore XSLT da parte della classe XslTransform.

  • La proprietà XslTransform.XmlResolver non è più supportata in .NET Framework versione 1.1. Al suo posto vengono utilizzati i nuovi overload XslTransform.Transform sostituiti da metodi quasi identici, tranne che per l'aggiunta dell'argomento XmlResolver. Per ulteriori informazioni, vedere Implementazione del processore XSLT da parte della classe XslTransform.

  • La gestione dei fogli di stile che fanno riferimento a risorse esterne e dei fogli di stile che prevedono l'esecuzione di script è stata modificata. La classe XslTransform supporta gli script incorporati mediante l'elemento msxsl:script. In .NET Framework versione 1.1 le autorizzazioni concesse agli script incorporati sono determinate dalla prova del foglio di stile.

    • Se il foglio di stile è stato caricato da un URI, quest'ultimo viene utilizzato per creare la prova, che comprende l'URI, il relativo sito e la zona.
    • Se il foglio di stile è stato caricato da un'altra origine, la prova viene fornita passando un oggetto System.Security.Policy.Evidence al metodo Load. In caso contrario, l'assembly dello script è completamente attendibile.

    Per i chiamanti semi-trused è richiesta l'autorizzazione UnmanagedCode per la compilazione dello script incorporato, mentre per fornire il parametro Evidence al metodo Load è richiesta l'autorizzazione ControlEvidence. Se il chiamante non dispone delle autorizzazioni necessarie, viene generata un'eccezione SecurityException. Per ulteriori informazioni, vedere System.Security.Permissions.SecurityPermission e System.Security.Permissions.SecurityPermissionFlag.

    Per ulteriori informazioni, vedere Risoluzione di fogli di stile XSLT e documenti esterni

XmlResolver

Nel metodo ResolveUri della classe XmlResolver è stata aggiunta una richiesta di ereditarietà per l'attendibilità totale. Per ulteriori informazioni sulla richiesta di ereditarietà, vedere Richieste di ereditarietà e Richieste di protezione.

In .NET Framework versione 1.1 è stata aggiunta la nuova classe derivata XmlSecureResolver, che consente alle applicazioni completamente attendibili di fornire una prova durante l'accesso a dati e risorse esterne. Per ulteriori informazioni vedere Risoluzione di risorse XML esterne specificate da un URI.

Vedere anche

Cenni preliminari sull'architettura dell'XML in .NET Framework | Modello a oggetti di documenti XML (Document Object Model, DOM) | Lettura dell'XML con XmlReader | Scrittura dell'XML con XmlWriter | Trasformazioni XSLT con la classe XslTransform | XPathNavigator in .NET Framework | Modello a oggetti dello Schema XML (Schema Object Model, SOM) | Convalida dell'XML con gli schemi | Integrazione XML con dati relazionali e ADO.NET | Risoluzione di risorse XML esterne specificate da un URI | Codifica dei caratteri dei nomi XML e conversione dei tipi di dati XML | Conversione dei tipi di dati XML | Spazi dei nomi in un documento XML