Elemento trust (schema delle impostazioni ASP.NET)

Aggiornamento: novembre 2007

Configura il livello di sicurezza contro l'accesso di codice (CAS, Code Access Security) per un'applicazione. Utilizzare questo elemento se si desidera eseguire un'applicazione Web con attendibilità inferiore a Full.

Elemento configuration (schema delle impostazioni generali)
  Elemento system.web (schema delle impostazioni ASP.NET)
    Elemento trust (schema delle impostazioni ASP.NET)

<trust 
   level="[Full|High|Medium|Low|Minimal]" 
   originUrl="URL"
   processRequestInApplicationTrust = "[True|False]" 
/>

Attributi ed elementi

Nelle sezioni riportate di seguito vengono illustrati attributi, elementi figlio ed elementi padre.

Attributi

Attributo

Descrizione

level

Attributo String obbligatorio.

Specifica il livello di attendibilità con cui verrà eseguita l'applicazione. Di ogni livello di attendibilità viene eseguito il mapping a un singolo file di criteri XML mediante un elemento trustLevel nel file di configurazione. Nel file di criteri è elencato il set di autorizzazioni concesse da ogni livello di attendibilità. Per informazioni su ASP.NET e sui file di criteri, vedere Livelli di attendibilità e file di criteri ASP.NET.

Questo attributo può essere un valore definito dall'utente, se è presente un mapping criteri di sicurezza corrispondente definito in un elemento trustLevel nell'elemento Elemento securityPolicy (schema delle impostazioni ASP.NET) oppure uno dei valori riportati di seguito, in ordine crescente di restrittività.

Valore

Descrizione

Full

Specifica le autorizzazioni senza restrizioni. Concede all'applicazione ASP.NET le autorizzazioni per accedere alle risorse soggette alla sicurezza del sistema operativo. Sono supportate tutte le operazioni privilegiate. Questa impostazione è denominata Unrestricted nell'enumerazione AspNetHostingPermissionLevel.

High

Specifica un elevato livello di sicurezza per l'accesso di codice, ovvero l'applicazione non è in grado di eseguire le operazioni seguenti per impostazione predefinita:

  • Chiamare codice non gestito.

  • Chiamare componenti serviti.

  • Scrivere nel registro eventi.

  • Accedere alle code di Microsoft Message Queuing (MSMQ).

  • Accedere alle origini dati ODBC, OleDb o Oracle.

Medium

Specifica un livello medio di sicurezza per l'accesso di codice, ovvero, oltre alle restrizioni relative a High, l'applicazione ASP.NET non è in grado di eseguire le operazioni seguenti per impostazione predefinita:

  • Accedere a file esterni alla directory dell'applicazione.

  • Accedere al Registro di sistema.

  • Effettuare chiamate di rete o del servizio Web utilizzando ad esempio la classe System.Net.HttpWebRequest.

Low

Specifica un livello basso di sicurezza per l'accesso di codice, ovvero, oltre alle restrizioni relative a Medium, l'applicazione ASP.NET non è in grado di eseguire le operazioni seguenti per impostazione predefinita:

  • Scrivere nel file system.

  • Chiamare il metodo Assert.

Minimal

Specifica un livello minimo di sicurezza contro l'accesso di codice, ovvero l'applicazione dispone solo delle autorizzazioni di esecuzione.

Il valore predefinito è Full (senza restrizioni).

originUrl

Attributo String facoltativo.

Specifica un URL da utilizzare con l'autorizzazione WebPermission con restrizioni configurata nel livello di attendibilità Medium. Se presente, può essere utilizzato per alcune classi, ad esempio HttpWebRequest, che consentono la connessione solo a determinati URL specificati da un'autorizzazione WebPermission. Questo consente il corretto funzionamento delle autorizzazioni che si basano sulla nozione di host.

processRequestInApplicationTrust

Attributo Boolean facoltativo.

Specifica se le richieste di pagine vengano automaticamente limitate alle autorizzazioni configurate nel file di criteri di attendibilità applicato all'applicazione ASP.NET.

I file di criteri di attendibilità vengono specificati negli elementi trustLevel nell'elemento securityPolicy. A un'applicazione ASP.NET viene applicato un solo criterio di attendibilità utilizzando l'attributo level dell'elemento trust.

Se impostato su False, è possibile che le richieste ASP.NET vengano eseguite con attendibilità Full, anche se l'attributo level specifica un livello di attendibilità diverso. A meno che non ci siano motivi specifici per farlo, non modificare il valore predefinito true di questo attributo.

Questo attributo è nuovo in .NET Framework versione 2.0.

Il valore predefinito è True.

Elementi figlio

Nessuno.

Elementi padre

Elemento

Descrizione

configuration

Specifica l'elemento di primo livello necessario in ciascun file di configurazione utilizzato in Common Language Runtime e nelle applicazioni .NET Framework.

system.web

Specifica l'elemento di primo livello per le impostazioni di configurazione ASP.NET in un file di configurazione e contiene gli elementi che consentono di configurare le applicazioni Web ASP.NET e di controllarne il comportamento.

Note

L'elemento trust configura il livello di sicurezza contro l'accesso di codice (CAS, Code Access Security) valido per un'applicazione. Dei file di criteri di sicurezza viene eseguito il mapping ai nomi dei livelli di attendibilità nell'elemento dell'insieme securityPolicy. Nel file di criteri è elencato il set di autorizzazioni concesse dal livello di attendibilità. L'elemento trust specifica quale livello di attendibilità applicare all'applicazione ASP.NET. Per informazioni su ASP.NET e sui file di criteri, vedere Livelli di attendibilità e file di criteri ASP.NET.

Per impostazione predefinita, le applicazioni Web vengono eseguite con attendibilità Full. Alle applicazioni con attendibilità totale vengono concesse dai criteri di sicurezza contro l'accesso di codice autorizzazioni di accesso al codice senza restrizioni, tra cui autorizzazioni personalizzate e di sistema incorporate. Pertanto la sicurezza contro l'accesso di codice non impedirà all'applicazione di accedere alle risorse sicure. La possibilità di accedere alle risorse è determinata esclusivamente dalla sicurezza a livello di sistema operativo. Se un'applicazione è configurata con un livello di attendibilità diverso da Full, viene considerata un'applicazione ad attendibilità parziale. Le applicazioni ad attendibilità parziale dispongono di autorizzazioni con restrizioni che limitano l'accesso alle risorse sicure.

Per una migliore sicurezza in un ambiente host, utilizzare l'elemento location nel file Web.config principale per racchiudere gli elementi securityPolicy e trust delle applicazioni host e l'attributo allowOverride="False" per impedire alle applicazioni di eseguire l'override delle impostazioni in un file Web.config locale. Facoltativamente, è possibile utilizzare più elementi location, ognuno con un attributo path distinto, se si desidera configurare diversi livelli di attendibilità per le varie applicazioni host. Per un esempio di questo tipo di configurazione, vedere più avanti la relativa sezione.

Nota

Le applicazioni Web sviluppate con .NET Framework versione 1.0 vengono sempre eseguite con attendibilità Full perché i tipi in System.Web richiedono chiamanti ad attendibilità totale. Quando si effettua l'aggiornamento a una nuova versione di .NET Framework, non modificare il livello di attendibilità senza eseguire il test delle applicazioni esistenti.

Configurazione predefinita

Il seguente elemento trust predefinito viene configurato nel file Web.config a livello di radice.

<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>

Esempio

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare un file Web.config principale per specificare le impostazioni del livello di attendibilità Medium per tutte le applicazioni ASP.NET sul server e l'elemento location per bloccare le impostazioni. Nello stesso file di configurazione viene utilizzato un altro elemento location per consentire al file Web.config dell'applicazione Default Web Site/Temp di eseguire l'override delle impostazioni nel file Web.config principale.

<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>

Informazioni sull'elemento

Gestore della sezione di configurazione

TrustSection

Membro di configurazione

AspNetHostingPermission

Percorsi configurabili

Machine.config

Web.config a livello di radice

Web.config a livello di applicazione

Requisiti

Microsoft Internet Information Services (IIS) versione 5.0, 5.1 o 6.0

.NET Framework versione 1.0, 1.1 o 2.0

Microsoft Visual Studio 2003 o Visual Studio 2005

Vedere anche

Attività

Procedura: configurare directory specifiche utilizzando le impostazioni posizione

Procedura: bloccare le impostazioni di configurazione di ASP.NET

Concetti

Livelli di attendibilità e file di criteri ASP.NET

Livelli di attendibilità e file di criteri ASP.NET

Amministrazione dei criteri di protezione

Protezione della configurazione di ASP.NET

Scenari di configurazione ASP.NET

Riferimenti

Elemento system.web (schema delle impostazioni ASP.NET)

Elemento configuration (schema delle impostazioni generali)

Elemento trustLevel per securityPolicy (schema delle impostazioni ASP.NET)

Elemento securityPolicy (schema delle impostazioni ASP.NET)

System.Configuration

System.Net.Configuration

TrustSection

AspNetHostingPermission

Altre risorse

Protezione delle applicazioni Web ASP.NET

Impostazioni di configurazione generali (ASP.NET)

Impostazioni di configurazione di ASP.NET

Amministrazione di siti Web ASP.NET

File di configurazione ASP.NET

API di configurazione di ASP.NET