Aracılığıyla paylaş


<legacyImpersonationPolicy> Öğesi

Geçerli iş parçacığındaki yürütme bağlamının akış ayarlarından bağımsız olarak Windows kimliğinin zaman uyumsuz noktalar arasında akmadığını belirtir.

<configuration>
  <runtime>
    <legacyImpersonationPolicy>

Sözdizimi

<legacyImpersonationPolicy
   enabled="true|false"/>

Öznitelikler ve Öğeler

Aşağıdaki bölümlerde öznitelikler, alt öğeler ve üst öğeler açıklanmaktadır.

Öznitelik

Öznitelik Açıklama
enabled Gerekli öznitelik.

geçerli iş parçacığındaki WindowsIdentity akışı ayarlarından bağımsız olarak ExecutionContext zaman uyumsuz noktalar arasında akmadığını belirtir.

enabled Özniteliği

Değer Açıklama
false geçerli iş parçacığının WindowsIdentity akış ayarlarına bağlı olarak zaman uyumsuz noktalar arasında akış ExecutionContext. Varsayılan değer budur.
true WindowsIdentity, geçerli iş parçacığındaki ExecutionContext akış ayarlarından bağımsız olarak zaman uyumsuz noktalar arasında akış yapmaz.

Alt Öğeler

Hiç kimse.

Üst Öğeler

Öğe Açıklama
configuration Ortak dil çalışma zamanı ve .NET Framework uygulamaları tarafından kullanılan her yapılandırma dosyasındaki kök öğesi.
runtime Derleme bağlama ve çöp toplama hakkında bilgi içerir.

Açıklamalar

.NET Framework 1.0 ve 1.1 sürümlerinde, WindowsIdentity kullanıcı tanımlı zaman uyumsuz noktalar arasında akış yapmaz. .NET Framework sürüm 2.0'dan başlayarak, şu anda yürütülen iş parçacığı hakkında bilgi içeren bir ExecutionContext nesnesi vardır ve uygulama etki alanı içindeki zaman uyumsuz noktalar arasında akar. WindowsIdentity bu yürütme bağlamında yer alır ve bu nedenle zaman uyumsuz noktalar arasında da akar; başka bir deyişle, bir kimliğe bürünme bağlamı varsa, o da akacaktır.

.NET Framework 2.0'dan başlayarak, <legacyImpersonationPolicy> zaman uyumsuz noktalar arasında akmadığını belirtmek için WindowsIdentity öğesini kullanabilirsiniz.

Not

Ortak dil çalışma zamanı (CLR), yönetilmeyen koda platform çağrısı veya Win32 işlevlerine doğrudan çağrılar gibi yönetilen kod dışında gerçekleştirilen kimliğe bürünme işlemlerinin değil, yalnızca yönetilen kod kullanılarak gerçekleştirilen kimliğe bürünme işlemlerinin farkındadır. WindowsIdentity öğesi true (alwaysFlowImpersonationPolicy) olarak ayarlanmadığı sürece, yalnızca yönetilen <alwaysFlowImpersonationPolicy enabled="true"/> nesneleri zaman uyumsuz noktalar arasında akabilir. alwaysFlowImpersonationPolicy öğesini true olarak ayarlamak, windows kimliğinin kimliğe bürünme işlemi nasıl gerçekleştirildiğine bakılmaksızın zaman uyumsuz noktalar arasında her zaman aktığını belirtir. Zaman uyumsuz noktalar arasında yönetilmeyen kimliğe bürünme akışı hakkında daha fazla bilgi için bkz <alwaysFlowImpersonationPolicy> . Öğe.

Bu varsayılan davranışı başka iki yolla değiştirebilirsiniz:

  1. İş parçacığı başına yönetilen kodda.

    ExecutionContext, SecurityContext veya ExecutionContext.SuppressFlow yöntemini kullanarak SecurityContext.SuppressFlowWindowsIdentity ve SecurityContext.SuppressFlow ayarlarını değiştirerek akışı iş parçacığı başına temelinde gizleyebilirsiniz.

  2. Ortak dil çalışma zamanını (CLR) yüklemek için yönetilmeyen barındırma arabirimi çağrısında.

    CLR'yi yüklemek için yönetilmeyen bir barındırma arabirimi (basit bir yönetilen yürütülebilir dosya yerine) kullanılıyorsa, CorBindToRuntimeEx İşlevi işlevine yapılan çağrıda özel bir bayrak belirtebilirsiniz. İşlemin tamamında uyumluluk modunu etkinleştirmek için flags için parametresini STARTUP_LEGACY_IMPERSONATION olarak ayarlayın.

Daha fazla bilgi için bkz<alwaysFlowImpersonationPolicy>. Öğesi.

Yapılandırma Dosyası

Bir .NET Framework uygulamasında, bu öğe yalnızca uygulama yapılandırma dosyasında kullanılabilir.

ASP.NET bir uygulama için, kimliğe bürünme akışı \Microsoft.NET\Framework\vx.x.xxxx dizinindeki <Windows Klasörü>bulunan aspnet.config dosyasında yapılandırılabilir.

ASP.NET, aşağıdaki yapılandırma ayarlarını kullanarak aspnet.config dosyasındaki kimliğe bürünme akışını varsayılan olarak devre dışı bırakır:

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

ASP.NET'da, bunun yerine kimliğe bürünme akışına izin vermek istiyorsanız, aşağıdaki yapılandırma ayarlarını açıkça kullanmanız gerekir:

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

Örnek

Aşağıdaki örnek, Windows kimliğini zaman uyumsuz noktalar arasında akmayan eski davranışın nasıl belirtileceğini gösterir.

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

Ayrıca bkz.