elemento legacyImpersonationPolicy><
Especifica que la identidad de Windows no fluye entre puntos asincrónicos, independientemente de la configuración del flujo para el contexto de ejecución en el subproceso actual.
>
de configuración de<
>
en tiempo de ejecución de<
<legacyImpersonationPolicy>
Sintaxis
<legacyImpersonationPolicy
enabled="true|false"/>
Atributos y elementos
En las secciones siguientes se describen atributos, elementos secundarios y elementos primarios.
Atributos
Atributo | Descripción |
---|---|
enabled |
Atributo obligatorio. Especifica que el WindowsIdentity no fluye entre puntos asincrónicos, independientemente de la configuración de flujo de ExecutionContext en el subproceso actual. |
Atributo habilitado
Valor | Descripción |
---|---|
false |
WindowsIdentity fluye entre puntos asincrónicos en función de la configuración de flujo de ExecutionContext para el subproceso actual. Este es el valor predeterminado. |
true |
WindowsIdentity no fluye entre puntos asincrónicos, independientemente de la configuración del flujo de ExecutionContext en el subproceso actual. |
Elementos secundarios
Ninguno.
Elementos primarios
Elemento | Descripción |
---|---|
configuration |
Elemento raíz de todos los archivos de configuración usados por las aplicaciones de Common Language Runtime y .NET Framework. |
runtime |
Contiene información sobre el enlace de ensamblados y la recolección de elementos no utilizados. |
Observaciones
En las versiones 1.0 y 1.1 de .NET Framework, el WindowsIdentity no fluye a través de ningún punto asincrónico definido por el usuario. A partir de .NET Framework versión 2.0, hay un objeto ExecutionContext que contiene información sobre el subproceso que se está ejecutando actualmente y fluye entre puntos asincrónicos dentro de un dominio de aplicación. El WindowsIdentity se incluye en este contexto de ejecución y, por tanto, también fluye a través de los puntos asincrónicos, lo que significa que si existe un contexto de suplantación, también fluirá.
A partir de .NET Framework 2.0, puede usar el elemento <legacyImpersonationPolicy>
para especificar que WindowsIdentity no fluya entre puntos asincrónicos.
Nota
Common Language Runtime (CLR) es consciente de las operaciones de suplantación realizadas con solo código administrado, no de suplantación realizada fuera del código administrado, como a través de la invocación de plataforma a código no administrado o a través de llamadas directas a funciones Win32. Solo los objetos WindowsIdentity administrados pueden fluir entre puntos asincrónicos, a menos que el elemento alwaysFlowImpersonationPolicy
se haya establecido en true (<alwaysFlowImpersonationPolicy enabled="true"/>
). Establecer el elemento alwaysFlowImpersonationPolicy
en true especifica que la identidad de Windows siempre fluye entre puntos asincrónicos, independientemente de cómo se haya realizado la suplantación. Para obtener más información sobre el flujo de suplantación no administrada entre puntos asincrónicos, vea <alwaysFlowImpersonationPolicy> Element.
Puede modificar este comportamiento predeterminado de otras dos maneras:
En código administrado por subproceso.
Puede suprimir el flujo por subproceso modificando la configuración de ExecutionContext y SecurityContext mediante el método ExecutionContext.SuppressFlow, SecurityContext.SuppressFlowWindowsIdentity o SecurityContext.SuppressFlow.
En la llamada a la interfaz de hospedaje no administrada para cargar Common Language Runtime (CLR).
Si se usa una interfaz de hospedaje no administrada (en lugar de un archivo ejecutable administrado simple) para cargar CLR, puede especificar una marca especial en la llamada a la función corbindToRuntimeEx de función. Para habilitar el modo de compatibilidad para todo el proceso, establezca el parámetro
flags
para Función CorBindToRuntimeEx en STARTUP_LEGACY_IMPERSONATION.
Para obtener más información, vea <alwaysFlowImpersonationPolicy> Element.
Archivo de configuración
En una aplicación de .NET Framework, este elemento solo se puede usar en el archivo de configuración de la aplicación.
Para una aplicación de ASP.NET, el flujo de suplantación se puede configurar en el archivo aspnet.config que se encuentra en el directorio>carpeta de Windows <\Microsoft.NET\Framework\vx.x.xxxx.
ASP.NET de forma predeterminada deshabilita el flujo de suplantación en el archivo aspnet.config mediante las siguientes opciones de configuración:
<configuration>
<runtime>
<legacyImpersonationPolicy enabled="true"/>
<alwaysFlowImpersonationPolicy enabled="false"/>
</runtime>
</configuration>
En ASP.NET, si desea permitir el flujo de suplantación en su lugar, debe usar explícitamente las siguientes opciones de configuración:
<configuration>
<runtime>
<legacyImpersonationPolicy enabled="false"/>
<alwaysFlowImpersonationPolicy enabled="true"/>
</runtime>
</configuration>
Ejemplo
En el ejemplo siguiente se muestra cómo especificar el comportamiento heredado que no fluye la identidad de Windows entre puntos asincrónicos.
<configuration>
<runtime>
<legacyImpersonationPolicy enabled="true"/>
</runtime>
</configuration>