Delen via


<het element alwaysFlowImpersonationPolicy>

Hiermee geeft u op dat de Windows-identiteit altijd over asynchrone punten loopt, ongeacht hoe imitatie is uitgevoerd.

<configuratie>
  <Runtime>
    <alwaysFlowImpersonationPolicy>

Syntax

<alwaysFlowImpersonationPolicy
  enabled="true|false"/>  

Kenmerken en elementen

In de volgende secties worden kenmerken, onderliggende elementen en bovenliggende elementen beschreven.

Kenmerken

Kenmerk Beschrijving
enabled Vereist kenmerk.

Hiermee wordt aangegeven of de Windows-identiteit over asynchrone punten loopt.

ingeschakeld kenmerk

Waarde Beschrijving
false De Windows-identiteit loopt niet over asynchrone punten, tenzij de imitatie wordt uitgevoerd via beheerde methoden zoals Impersonate. Dit is de standaardinstelling.
true De Windows-identiteit loopt altijd over asynchrone punten, ongeacht hoe imitatie is uitgevoerd.

Onderliggende elementen

Geen.

Bovenliggende elementen

Element Beschrijving
configuration Het hoofdelement in elk configuratiebestand dat wordt gebruikt door de common language runtime en .NET Framework toepassingen.
runtime Bevat informatie over assemblagebinding en garbagecollection.

Opmerkingen

In de .NET Framework versies 1.0 en 1.1 loopt de Windows-identiteit niet over asynchrone punten. In .NET Framework versie 2.0 bevindt zich een ExecutionContext object dat informatie bevat over de thread die momenteel wordt uitgevoerd en dat deze over asynchrone punten binnen een toepassingsdomein stroomt. De WindowsIdentity ook stroomt als onderdeel van de informatie die over de asynchrone punten stroomt, op voorwaarde dat de imitatie is bereikt met beheerde methoden, zoals Impersonate en niet via andere methoden, zoals platform-aanroep naar systeemeigen methoden. Dit element wordt gebruikt om op te geven dat de Windows-identiteit over asynchrone punten stroomt, ongeacht hoe de imitatie is bereikt.

U kunt dit standaardgedrag op twee andere manieren wijzigen:

  1. In beheerde code per thread.

    U kunt de stroom per thread onderdrukken door de ExecutionContext instellingen en SecurityContext te wijzigen met behulp van de ExecutionContext.SuppressFlowmethode , SecurityContext.SuppressFlowWindowsIdentityof SecurityContext.SuppressFlow .

  2. In de aanroep van de niet-beheerde hostinginterface om de Common Language Runtime (CLR) te laden.

    Als een onbeheerde hostinginterface (in plaats van een eenvoudig beheerd uitvoerbaar bestand) wordt gebruikt om de CLR te laden, kunt u een speciale vlag opgeven in de aanroep van de functie CorBindToRuntimeEx . Als u de compatibiliteitsmodus voor het hele proces wilt inschakelen, stelt u de parameter voor de functie CorBindToRuntimeEx in op STARTUP_ALWAYSFLOW_IMPERSONATION.flags

Configuratiebestand

In een .NET Framework toepassing kan dit element alleen worden gebruikt in het configuratiebestand van de toepassing.

Voor een ASP.NET toepassing kan de imitatiestroom worden geconfigureerd in het aspnet.config-bestand in de <map Windows-map>\Microsoft.NET\Framework\vx.x.xxxx.

ASP.NET schakelt standaard de imitatiestroom in het aspnet.config-bestand uit met behulp van de volgende configuratie-instellingen:

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

Als u in ASP.NET de imitatiestroom wilt toestaan, moet u expliciet de volgende configuratie-instellingen gebruiken:

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

Voorbeeld

In het volgende voorbeeld ziet u hoe u opgeeft dat de Windows-identiteit over asynchrone punten loopt, zelfs wanneer de imitatie wordt bereikt via andere methoden dan beheerde methoden.

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

Zie ook