<alwaysFlowImpersonationPolicy> 要素<alwaysFlowImpersonationPolicy> Element

偽装の実行方法に関係なく、Windows ID が常に非同期ポイント間でフローすることを指定します。Specifies that the Windows identity always flows across asynchronous points, regardless of how impersonation was performed.

<configuration>
  <runtime>
    <alwaysFlowImpersonationPolicy>\

構文Syntax

<alwaysFlowImpersonationPolicy
  enabled="true|false"/>  

属性および要素Attributes and Elements

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

属性Attributes

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

Windows id が非同期ポイント間でフローするかどうかを示します。Indicates whether the Windows identity flows across asynchronous points.

enabled 属性enabled Attribute

Value [説明]Description
false などのマネージメソッドを使用して偽装を実行しない限り、Windows id は非同期ポイント間ではフローしません ImpersonateThe Windows identity does not flow across asynchronous points, unless the impersonation is performed through managed methods such as Impersonate. これは既定値です。This is the default.
true Windows id は、偽装がどのように実行されたかに関係なく、常に非同期のポイント間でフローします。The Windows identity always flows across asynchronous points, regardless of how impersonation was performed.

子要素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.

解説Remarks

.NET Framework バージョン1.0 および1.1 では、Windows id は非同期ポイント間ではフローしません。In the .NET Framework versions 1.0 and 1.1, the Windows identity does not flow across asynchronous points. .NET Framework バージョン2.0 では、 ExecutionContext 現在実行中のスレッドに関する情報を格納するオブジェクトがあり、アプリケーションドメイン内の非同期ポイント間でフローします。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. また、は、 WindowsIdentity 非同期ポイント全体をフローする情報の一部としてもフローします。これは、などのマネージメソッドを使用して偽装が行われた場合に、 Impersonate ネイティブメソッドへのプラットフォーム呼び出しなどの他の方法を使用して行われなかった場合に限ります。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. この要素は、偽装がどのように実現されたかに関係なく、Windows id が非同期ポイント間でフローすることを指定するために使用されます。This element is used to specify that the Windows identity does flow across asynchronous points, regardless of how the impersonation was achieved.

この既定の動作は、次の2つの方法で変更できます。You can alter this default behavior in two other ways:

  1. マネージコード内で、スレッド単位で。In managed code on a per-thread basis.

    ExecutionContext SecurityContext 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_ALWAYSFLOW_IMPERSONATION ます。To enable the compatibility mode for the entire process, set the flags parameter for CorBindToRuntimeEx Function to STARTUP_ALWAYSFLOW_IMPERSONATION.

構成ファイルConfiguration File

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

ASP.NET アプリケーションの場合は、\Microsoft.NET\Framework\vx.x.xxxx ディレクトリにある aspnet.config ファイルで偽装フローを構成でき <Windows Folder> ます。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 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>  

関連項目See also