Sdílet prostřednictvím


<elementu alwaysFlowImpersonationPolicy>

Určuje, že identita Windows vždy prochází mezi asynchronními body bez ohledu na to, jak se zosobnění provedlo.

> konfigurace<
   > modulu runtime<
     < > alwaysFlowImpersonationPolicy

Syntax

<alwaysFlowImpersonationPolicy
  enabled="true|false"/>  

Atributy a prvky

Následující části popisují atributy, podřízené prvky a nadřazené prvky.

Atributy

Atribut Popis
enabled Povinný atribut.

Určuje, jestli identita Windows prochází mezi asynchronními body.

enabled – atribut

Hodnota Popis
false Identita Systému Windows neprochází mezi asynchronními body, pokud se zosobnění neprovádí prostřednictvím spravovaných metod, jako je Impersonate. Toto je výchozí hodnota.
true Identita Windows vždy prochází mezi asynchronními body bez ohledu na to, jak byla zosobnění provedena.

Podřízené elementy

Žádný.

Nadřazené elementy

Element Popis
configuration Kořenový prvek v každém konfiguračním souboru používaném modulem CLR (Common Language Runtime) a aplikacemi rozhraní .NET Framework.
runtime Obsahuje informace o vazbě sestavení a uvolňování paměti.

Poznámky

V rozhraní .NET Framework verze 1.0 a 1.1 neprotéká identita Systému Windows mezi asynchronními body. V rozhraní .NET Framework verze 2.0 existuje objekt ExecutionContext, který obsahuje informace o aktuálně spuštěné vlákně, a tokuje ho mezi asynchronními body v rámci domény aplikace. WindowsIdentity také proudí jako součást informací, které proudí přes asynchronní body, za předpokladu, že zosobnění bylo dosaženo pomocí spravovaných metod, jako je Impersonate, a ne prostřednictvím jiných prostředků, jako je volání platformy na nativní metody. Tento prvek se používá k určení, že identita Systému Windows probíhá v asynchronních bodech bez ohledu na to, jak bylo dosaženo zosobnění.

Toto výchozí chování můžete změnit dvěma dalšími způsoby:

  1. Ve spravovaném kódu na základě jednotlivých vláken.

    Tok můžete potlačit na základě jednotlivých vláken úpravou nastavení ExecutionContext a SecurityContext pomocí metody ExecutionContext.SuppressFlow, SecurityContext.SuppressFlowWindowsIdentitynebo SecurityContext.SuppressFlow.

  2. Při volání nespravovaného hostitelského rozhraní pro načtení modulu CLR (Common Language Runtime).

    Pokud se k načtení modulu CLR používá nespravované hostitelské rozhraní (místo jednoduchého spravovaného spustitelného souboru), můžete ve volání CorBindToRuntimeEx funkce zadat speciální příznak. Chcete-li povolit režim kompatibility pro celý proces, nastavte parametr flags pro funkci CorBindToRuntimeEx na STARTUP_ALWAYSFLOW_IMPERSONATION.

Konfigurační soubor

V aplikaci .NET Framework lze tento prvek použít pouze v konfiguračním souboru aplikace.

U ASP.NET aplikace je možné tok zosobnění nakonfigurovat v souboru aspnet.config nalezeném ve složce <Windows>\Microsoft.NET\Framework\vx.x.xxxx adresáře.

ASP.NET ve výchozím nastavení zakáže tok zosobnění v souboru aspnet.config pomocí následujícího nastavení konfigurace:

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

Pokud chcete povolit tok zosobnění, musíte v ASP.NET explicitně použít následující nastavení konfigurace:

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

Příklad

Následující příklad ukazuje, jak určit, že identita Windows prochází mezi asynchronními body, i když se zosobnění dosáhne jinými prostředky než spravovanými metodami.

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

Viz také