Bagikan melalui


<alwaysFlowImpersonationPolicy> Element

Menentukan bahwa identitas Windows selalu mengalir melintasi titik asinkron, terlepas dari cara peniruan identitas dilakukan.

<konfigurasi>
  <runtime>
    <alwaysFlowImpersonationPolicy>

Sintaks

<alwaysFlowImpersonationPolicy
  enabled="true|false"/>  

Atribut dan Elemen

Bagian berikut menjelaskan atribut, elemen turunan, dan elemen induk.

Atribut

Atribut Deskripsi
enabled Atribut yang diperlukan.

Menunjukkan apakah identitas Windows mengalir di seluruh titik asinkron.

Atribut yang diaktifkan

Nilai Deskripsi
false Identitas Windows tidak mengalir di seluruh titik asinkron, kecuali peniruan dilakukan melalui metode terkelola seperti Impersonate. Ini adalah default.
true Identitas Windows selalu mengalir di seluruh titik asinkron, terlepas dari bagaimana peniruan dilakukan.

Elemen Anak

Tidak ada.

Elemen Induk

Elemen Deskripsi
configuration Elemen akar di setiap file konfigurasi yang digunakan oleh runtime bahasa umum dan aplikasi .NET Framework.
runtime Berisi informasi tentang pengikatan assembly dan pengumpulan sampah.

Keterangan

Dalam .NET Framework versi 1.0 dan 1.1, identitas Windows tidak mengalir di seluruh titik asinkron. Dalam .NET Framework versi 2.0, ada ExecutionContext objek yang berisi informasi tentang utas yang saat ini dijalankan, dan mengalirkannya di seluruh titik asinkron dalam domain aplikasi. WindowsIdentity juga mengalir sebagai bagian dari informasi yang mengalir di seluruh titik asinkron, asalkan peniruan dicapai menggunakan metode terkelola seperti Impersonate dan bukan melalui cara lain seperti platform yang dipanggil ke metode asli. Elemen ini digunakan untuk menentukan bahwa identitas Windows mengalir di seluruh titik asinkron, terlepas dari bagaimana peniruan itu dicapai.

Anda dapat mengubah perilaku default ini dengan dua cara lain:

  1. Dalam kode terkelola berdasarkan per utas.

    Anda dapat menahan aliran berdasarkan per utas dengan memodifikasi pengaturan ExecutionContext dan SecurityContext dengan menggunakan metode ExecutionContext.SuppressFlow, SecurityContext.SuppressFlowWindowsIdentity, atau SecurityContext.SuppressFlow.

  2. Dalam panggilan ke antarmuka hosting yang tidak dikelola untuk memuat runtime bahasa umum (CLR).

    Jika antarmuka hosting tidak terkelola (bukan executable terkelola sederhana) digunakan untuk memuat CLR, Anda dapat menentukan bendera khusus dalam panggilan ke fungsi CorBindToRuntimeEx Function. Untuk mengaktifkan mode kompatibilitas untuk seluruh proses, atur parameter flags untuk Fungsi CorBindToRuntimeEx ke STARTUP_ALWAYSFLOW_IMPERSONATION.

File konfigurasi

Dalam aplikasi .NET Framework, elemen ini hanya dapat digunakan dalam file konfigurasi aplikasi.

Untuk aplikasi ASP.NET, alur peniruan identitas dapat dikonfigurasi dalam file aspnet.config yang ditemukan di direktori <Folder Windows>\Microsoft.NET\Framework\vx.x.xxxx.

ASP.NET secara default menonaktifkan aliran peniruan identitas di file aspnet.config dengan menggunakan pengaturan konfigurasi berikut ini:

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

Di ASP.NET, jika ingin mengizinkan aliran peniruan identitas, Anda harus secara eksplisit menggunakan pengaturan konfigurasi berikut:

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

Contoh

Contoh berikut menunjukkan cara menentukan bahwa identitas Windows mengalir di seluruh titik asinkron, bahkan ketika peniruan tercapai melalui cara selain metode terkelola.

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

Lihat juga