Dela via


<alwaysFlowImpersonationPolicy-element>

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

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

Inga.

Överordnade element

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

Kommentarer

I .NET Framework versionerna 1.0 och 1.1 flödar Inte Windows-identiteten över asynkrona punkter. I .NET Framework version 2.0 finns det ett ExecutionContext objekt som innehåller information om den tråd som körs för närvarande 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, till exempel 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 ExecutionContext ändra inställningarna och SecurityContext med hjälp ExecutionContext.SuppressFlowav metoden , 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-funktionen 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 Folder>\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 metoder än hanterade metoder.

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

Se även