<legacyImpersonationPolicy > 要素<legacyImpersonationPolicy> Element

Windows ID が、現在のスレッドの実行コンテキストのフロー設定に関係なく、非同期ポイント間でフローしないことを指定します。Specifies that the Windows identity does not flow across asynchronous points, regardless of the flow settings for the execution context on the current thread.

<configuration><configuration>
<runtime><runtime>
<legacyImpersonationPolicy><legacyImpersonationPolicy>

構文Syntax

<legacyImpersonationPolicy    
   enabled="true|false"/>  

属性および要素Attributes and Elements

以降のセクションでは、属性、子要素、および親要素について説明します。The following sections describe attributes, child elements, and parent elements.

属性Attributes

属性Attribute 説明Description
enabled 必須の属性です。Required attribute.

指定します、WindowsIdentityが非同期ポイント間をフローしないに関係なく、ExecutionContextフローの現在のスレッドで設定します。Specifies that the WindowsIdentity does not flow across asynchronous points, regardless of the ExecutionContext flow settings on the current thread.

enabled 属性enabled Attribute

Value 説明Description
false WindowsIdentity に応じて非同期ポイント間のフロー、ExecutionContextフロー、現在のスレッドを設定します。WindowsIdentity flows across asynchronous points depending upon the ExecutionContext flow settings for the current thread. 既定値です。This is the default.
true WindowsIdentity 非同期ポイント間をフローしないに関係なく、ExecutionContextフローの現在のスレッドで設定します。WindowsIdentity does not flow across asynchronous points, regardless of the ExecutionContext flow settings on the current thread.

子要素Child Elements

なし。None.

親要素Parent Elements

要素Element 説明Description
configuration 共通言語ランタイムおよび .NET Framework アプリケーションで使用されるすべての構成ファイルのルート要素です。The root element in every configuration file used by the common language runtime and .NET Framework applications.
runtime アセンブリのバインディングとガベージ コレクションに関する情報が含まれています。Contains information about assembly binding and garbage collection.

RemarksRemarks

.NET Framework バージョン 1.0 および 1.1 で、WindowsIdentity任意のユーザー定義の非同期ポイント間をフローしません。In the .NET Framework versions 1.0 and 1.1, the WindowsIdentity does not flow across any user-defined asynchronous points. 以降、.NET Framework version 2.0 では、ある、ExecutionContextと現在実行中のスレッドに関する情報を含むオブジェクトがアプリケーション ドメイン内での非同期ポイント間でフローします。Starting with the .NET Framework version 2.0, there is an ExecutionContext object that contains information about the currently executing thread, and it flows across asynchronous points within an application domain. WindowsIdentityこの実行コンテキストが用意されており、したがってもポイント間をフロー、非同期、つまり、権限借用コンテキストが存在する場合、これがフローするもします。The WindowsIdentity is included in this execution context and therefore also flows across the asynchronous points, which means that if an impersonation context exists, it will flow as well.

以降、.NET Framework 2.0 を使えば、<legacyImpersonationPolicy>ことを指定する要素WindowsIdentity非同期ポイント間をフローしません。Starting with the .NET Framework 2.0, you can use the <legacyImpersonationPolicy> element to specify that WindowsIdentity does not flow across asynchronous points.

注意

共通言語ランタイム (CLR) は、プラットフォームを通じてなど、マネージ コードの外部で実行する権限借用のではありませんのマネージ コードを使用して実行される操作は、アンマネージ コードに、または Win32 関数への直接の呼び出しを呼び出す権限借用に注意してください。The common language runtime (CLR) is aware of impersonation operations performed using only managed code, not of impersonation performed outside of managed code, such as through platform invoke to unmanaged code or through direct calls to Win32 functions. マネージのみWindowsIdentityしない限り、非同期ポイント間でオブジェクトが流れることができる、alwaysFlowImpersonationPolicy要素が設定されているを true に (<alwaysFlowImpersonationPolicy enabled="true"/>)。Only managed WindowsIdentity objects can flow across asynchronous points, unless the alwaysFlowImpersonationPolicy element has been set to true (<alwaysFlowImpersonationPolicy enabled="true"/>). 設定、 alwaysFlowImpersonationPolicy true 要素では、Windows id が偽装の実行方法に関係なく、非同期ポイント間で常にフローを指定します。Setting the alwaysFlowImpersonationPolicy element to true specifies that the Windows identity always flows across asynchronous points, regardless of how impersonation was performed. 詳細についてはフローの情報では、権限借用をアンマネージ非同期ポイント間を参照してください <alwaysFlowImpersonationPolicy > 要素します。For more information on flowing unmanaged impersonation across asynchronous points, see <alwaysFlowImpersonationPolicy> Element.

他の 2 つの方法でこの既定の動作を変更することができます。You can alter this default behavior in two other ways:

  1. スレッドごとにマネージ コードは。In managed code on a per-thread basis.

    スレッドごとのフローを抑制するには変更することによって、ExecutionContextSecurityContext設定を使用して、 ExecutionContext.SuppressFlowSecurityContext.SuppressFlowWindowsIdentityまたは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. で、共通言語ランタイム (CLR) を読み込むアンマネージ ホスト インターフェイスへの呼び出し。In the call to the unmanaged hosting interface to load the common language runtime (CLR).

    呼び出しで特別なフラグを指定するには、CLR を読み込めません (単純なマネージ実行可能ファイル) ではなく、アンマネージ ホスト インターフェイスを使用する場合、 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. プロセス全体の互換モードを有効にするには設定、flagsパラメーター CorBindToRuntimeEx 関数STARTUP_LEGACY_IMPERSONATION にします。To enable the compatibility mode for the entire process, set the flags parameter for CorBindToRuntimeEx Function to STARTUP_LEGACY_IMPERSONATION.

詳細については、次を参照してください。、 <alwaysFlowImpersonationPolicy > 要素します。For more information, see the <alwaysFlowImpersonationPolicy> Element.

構成ファイルConfiguration File

.NET Framework アプリケーションでは、この要素は、アプリケーション構成ファイルでのみ使用できます。In a .NET Framework application, this element can be used only in the application configuration file.

見つかった aspnet.config ファイルで、ASP.NET アプリケーションの権限借用のフローを構成できます、 <Windows フォルダー > \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.

既定では ASP.NET では、次の構成設定を使用して、aspnet.config ファイルで権限借用のフローを無効にします。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>  

ASP.NET では、代わりに、権限借用のフローを許可する場合は、する必要があります明示的に使用する次の構成設定。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>  

Example

次の例では、非同期ポイント間、Windows id をフローしない従来の動作を指定する方法を示します。The following example shows how to specify the legacy behavior that does not flow the Windows identity across asynchronous points.

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

関連項目See also