Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Elemento
Especifica que a identidade do Windows sempre flui entre pontos assíncronos, independentemente de como a representação foi executada.
<configuration>
<runtime>
<alwaysFlowImpersonationPolicy>
Sintaxe
<alwaysFlowImpersonationPolicy
enabled="true|false"/>
Atributos e elementos
As seções a seguir descrevem atributos, elementos filho e elementos pai.
Atributos
| Atributo | Descrição |
|---|---|
enabled |
Atributo obrigatório. Indica se a identidade do Windows flui entre pontos assíncronos. |
atributo enabled
| Valor | Descrição |
|---|---|
false |
A identidade do Windows não flui entre pontos assíncronos, a menos que a representação seja executada por meio de métodos gerenciados, como Impersonate. Este é o padrão. |
true |
A identidade do Windows sempre flui através de pontos assíncronos, independentemente de como a representação foi executada. |
Elementos filho
Nenhuma.
Elementos pai
| Elemento | Descrição |
|---|---|
configuration |
O elemento raiz em cada arquivo de configuração usado pelo Common Language Runtime e aplicativos .NET Framework. |
runtime |
Contém informações sobre vinculação de montagem e coleta de lixo. |
Comentários
No .NET Framework versões 1.0 e 1.1, a identidade do Windows não flui entre pontos assíncronos. No .NET Framework versão 2.0, há um objeto ExecutionContext 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. O WindowsIdentity também flui como parte das informações que fluem através dos pontos assíncronos, desde que a representação tenha sido alcançada usando métodos gerenciados, como Impersonate e não por outros meios, como a invocação de plataforma para métodos nativos. Esse elemento é usado para especificar que a identidade do Windows flui entre pontos assíncronos, independentemente de como a representação foi alcançada.
Você pode alterar esse comportamento padrão de duas outras maneiras:
Em código gerenciado por thread.
Você pode suprimir o fluxo por thread modificando as configurações de ExecutionContext e SecurityContext usando o método ExecutionContext.SuppressFlow, SecurityContext.SuppressFlowWindowsIdentityou SecurityContext.SuppressFlow.
Na chamada para a interface de hospedagem não gerenciada para carregar o 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 CorBindToRuntimeEx. Para habilitar o modo de compatibilidade para todo o processo, defina o parâmetro
flagspara de função CorBindToRuntimeEx comoSTARTUP_ALWAYSFLOW_IMPERSONATION.
Arquivo de configuração
Em um aplicativo .NET Framework, esse elemento pode ser usado somente no arquivo de configuração do aplicativo.
Para um aplicativo ASP.NET, o fluxo de representação pode ser configurado no arquivo aspnet.config encontrado na pasta <Windows>diretório \Microsoft.NET\Framework\vx.x.xxxx.
ASP.NET por padrão desabilita o fluxo de representação no arquivo aspnet.config usando as seguintes definições de configuração:
<configuration>
<runtime>
<legacyImpersonationPolicy enabled="true"/>
<alwaysFlowImpersonationPolicy enabled="false"/>
</runtime>
</configuration>
No ASP.NET, se quiser permitir o fluxo de representação, use explicitamente as seguintes definições de configuração:
<configuration>
<runtime>
<legacyImpersonationPolicy enabled="false"/>
<alwaysFlowImpersonationPolicy enabled="true"/>
</runtime>
</configuration>
Exemplo
O exemplo a seguir mostra como especificar que a identidade do Windows flui através de pontos assíncronos, mesmo quando a representação é obtida por meios diferentes de métodos gerenciados.
<configuration>
<runtime>
<alwaysFlowImpersonationPolicy enabled="true"/>
</runtime>
</configuration>