Elemento <alwaysFlowImpersonationPolicy><alwaysFlowImpersonationPolicy> Element

Especifica que a identidade do Windows sempre fluirá por pontos assíncronos, independentemente de como a representação tenha sido executada.Specifies that the Windows identity always flows across asynchronous points, regardless of how impersonation was performed.

<configuration>
  <runtime>
    <alwaysFlowImpersonationPolicy>\

SyntaxSyntax

<alwaysFlowImpersonationPolicy
  enabled="true|false"/>  

Atributos e elementosAttributes and Elements

As seções a seguir descrevem atributos, elementos filho e elementos pai.The following sections describe attributes, child elements, and parent elements.

AtributosAttributes

AtributoAttribute DescriçãoDescription
enabled Atributo obrigatório.Required attribute.

Indica se a identidade do Windows flui entre pontos assíncronos.Indicates whether the Windows identity flows across asynchronous points.

Atributo habilitadoenabled Attribute

ValorValue DescriçãoDescription
false A identidade do Windows não flui em pontos assíncronos, a menos que a representação seja executada por meio de métodos gerenciados, como Impersonate .The Windows identity does not flow across asynchronous points, unless the impersonation is performed through managed methods such as Impersonate. Este é o padrão.This is the default.
true A identidade do Windows sempre flui entre pontos assíncronos, independentemente de como a representação foi executada.The Windows identity always flows across asynchronous points, regardless of how impersonation was performed.

Elementos filhoChild Elements

Nenhum.None.

Elementos paiParent Elements

ElementoElement DescriçãoDescription
configuration O elemento raiz em cada arquivo de configuração usado pelos aplicativos do Common Language Runtime e .NET Framework.The root element in every configuration file used by the common language runtime and .NET Framework applications.
runtime Contém informações sobre associação do assembly e coleta de lixo.Contains information about assembly binding and garbage collection.

ComentáriosRemarks

No .NET Framework versões 1,0 e 1,1, a identidade do Windows não flui entre pontos assíncronos.In the .NET Framework versions 1.0 and 1.1, the Windows identity does not flow across asynchronous points. No .NET Framework versão 2,0, há um ExecutionContext objeto que contém informações sobre o thread em execução no momento e o flui entre pontos assíncronos dentro de um domínio de aplicativo.In the .NET Framework version 2.0, there is an ExecutionContext object that contains information about the currently executing thread, and flows it across asynchronous points within an application domain. O WindowsIdentity também flui como parte das informações que fluem pelos pontos assíncronos, desde que a representação tenha sido obtida usando métodos gerenciados, como Impersonate e não por outros meios, como invocação de plataforma para métodos nativos.The WindowsIdentity also flows as part of the information that flows across the asynchronous points, provided the impersonation was achieved using managed methods such as Impersonate and not through other means such as platform invoke to native methods. Esse elemento é usado para especificar que a identidade do Windows flua entre pontos assíncronos, independentemente de como a representação foi obtida.This element is used to specify that the Windows identity does flow across asynchronous points, regardless of how the impersonation was achieved.

Você pode alterar esse comportamento padrão de duas maneiras:You can alter this default behavior in two other ways:

  1. Em código gerenciado por thread.In managed code on a per-thread basis.

    Você pode suprimir o fluxo por thread modificando as ExecutionContext SecurityContext configurações e usando o ExecutionContext.SuppressFlow SecurityContext.SuppressFlowWindowsIdentity método, ou SecurityContext.SuppressFlow .You can suppress the flow on a per-thread basis by modifying the ExecutionContext and SecurityContext settings by using the ExecutionContext.SuppressFlow, SecurityContext.SuppressFlowWindowsIdentity, or SecurityContext.SuppressFlow method.

  2. Na chamada à interface de hospedagem não gerenciada para carregar o Common Language Runtime (CLR).In the call to the unmanaged hosting interface to load the common language runtime (CLR).

    Se uma interface de hospedagem não gerenciada (em vez de um executável gerenciado simples) for usada para carregar o CLR, você poderá especificar um sinalizador especial na chamada para a função de função CorBindToRuntimeEx .If an unmanaged hosting interface (instead of a simple managed executable) is used to load the CLR, you can specify a special flag in the call to the CorBindToRuntimeEx Function function. Para habilitar o modo de compatibilidade para todo o processo, defina o flags parâmetro para a função CorBindToRuntimeEx como STARTUP_ALWAYSFLOW_IMPERSONATION .To enable the compatibility mode for the entire process, set the flags parameter for CorBindToRuntimeEx Function to STARTUP_ALWAYSFLOW_IMPERSONATION.

Arquivo de configuraçãoConfiguration File

Em um aplicativo .NET Framework, esse elemento pode ser usado somente no arquivo de configuração do aplicativo.In a .NET Framework application, this element can be used only in the application configuration file.

Para um aplicativo ASP.NET, o fluxo de representação pode ser configurado no arquivo de aspnet.config encontrado no <Windows Folder> diretório \Microsoft.NET\Framework\vx.x.xxxx.For an ASP.NET application, the impersonation flow can be configured in the aspnet.config file found in the <Windows Folder>\Microsoft.NET\Framework\vx.x.xxxx directory.

O ASP.NET, por padrão, desabilita o fluxo de representação no arquivo de aspnet.config usando as seguintes definições de configuração:ASP.NET by default disables the impersonation flow in the aspnet.config file by using the following configuration settings:

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

Em ASP.NET, se você quiser permitir o fluxo de representação em vez disso, deverá usar explicitamente as seguintes definições de configuração:In ASP.NET, if you want to allow the flow of impersonation instead, you must explicitly use the following configuration settings:

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

ExemploExample

O exemplo a seguir mostra como especificar que a identidade do Windows flui entre pontos assíncronos, mesmo quando a representação é obtida por meio de meios diferentes dos métodos gerenciados.The following example shows how to specify that the Windows identity flows across asynchronous points, even when the impersonation is achieved through means other than managed methods.

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

Consulte tambémSee also