Dela via


<alwaysFlowImpersonationPolicy>-element

Anger att Windows-identiteten alltid flödar över asynkrona punkter, oavsett hur personifiering utfördes.

<konfiguration>
   <körning>
     <alwaysFlowImpersonationPolicy>

Syntax

<alwaysFlowImpersonationPolicy
  enabled="true|false"/>  

Attribut och element

I följande avsnitt beskrivs attribut, underordnade element och överordnade element.

Attribut

Attribut Beskrivning
enabled Obligatoriskt attribut.

Anger om Windows-identiteten flödar över asynkrona punkter.

aktiverat attribut

Värde Beskrivning
false Windows-identiteten flödar inte över asynkrona punkter, såvida inte personifieringen utförs via hanterade metoder som Impersonate. Det här är standardinställningen.
true Windows-identiteten flödar alltid över asynkrona punkter, oavsett hur personifiering utfördes.

Underordnade element

Ingen.

Överordnade element

Element Beskrivning
configuration Rotelementet i varje konfigurationsfil som används av vanliga språkkörnings- och .NET Framework-program.
runtime Innehåller information om sammansättningsbindning och skräpinsamling.

Anmärkningar

Windows-identiteten flödar inte över asynkrona punkter i .NET Framework-versionerna 1.0 och 1.1. I .NET Framework version 2.0 finns det ett ExecutionContext objekt som innehåller information om den tråd som körs just nu och som flödar den över asynkrona punkter i en programdomän. WindowsIdentity flödar också som en del av den information som flödar över de asynkrona punkterna, förutsatt att personifieringen uppnåddes med hanterade metoder som Impersonate och inte på andra sätt som plattformsanrop till interna metoder. Det här elementet används för att ange att Windows-identiteten flödar över asynkrona punkter, oavsett hur personifieringen uppnåddes.

Du kan ändra standardbeteendet på två andra sätt:

  1. I hanterad kod per tråd.

    Du kan ignorera flödet per tråd genom att ändra inställningarna för ExecutionContext och SecurityContext med hjälp av metoden ExecutionContext.SuppressFlow, SecurityContext.SuppressFlowWindowsIdentityeller SecurityContext.SuppressFlow.

  2. I anropet till det ohanterade värdgränssnittet för att läsa in CLR (Common Language Runtime).

    Om ett ohanterat värdgränssnitt (i stället för en enkel hanterad körbar fil) används för att läsa in CLR kan du ange en särskild flagga i anropet till funktionen CorBindToRuntimeEx. Om du vill aktivera kompatibilitetsläget för hela processen anger du parametern flags för CorBindToRuntimeEx-funktion till STARTUP_ALWAYSFLOW_IMPERSONATION.

Konfigurationsfil

I ett .NET Framework-program kan det här elementet endast användas i programkonfigurationsfilen.

För ett ASP.NET program kan personifieringsflödet konfigureras i aspnet.config filen som finns i katalogen <Windows-mapp>\Microsoft.NET\Framework\vx.x.xxxx.

ASP.NET inaktiverar som standard personifieringsflödet i aspnet.config-filen med hjälp av följande konfigurationsinställningar:

<configuration>  
   <runtime>  
      <legacyImpersonationPolicy enabled="true"/>  
      <alwaysFlowImpersonationPolicy enabled="false"/>  
   </runtime>  
</configuration>  

Om du i ASP.NET vill tillåta flödet av personifiering i stället måste du uttryckligen använda följande konfigurationsinställningar:

<configuration>  
   <runtime>  
      <legacyImpersonationPolicy enabled="false"/>  
      <alwaysFlowImpersonationPolicy enabled="true"/>  
   </runtime>  
</configuration>  

Exempel

I följande exempel visas hur du anger att Windows-identiteten flödar över asynkrona punkter, även när personifieringen uppnås med andra medel än hanterade metoder.

<configuration>  
  <runtime>  
    <alwaysFlowImpersonationPolicy enabled="true"/>  
  </runtime>  
</configuration>  

Se även