Bagikan melalui


SqlContext.WindowsIdentity Properti

Definisi

Identitas Microsoft Windows dari pemanggil.

public:
 static property System::Security::Principal::WindowsIdentity ^ WindowsIdentity { System::Security::Principal::WindowsIdentity ^ get(); };
public static System.Security.Principal.WindowsIdentity WindowsIdentity { get; }
static member WindowsIdentity : System.Security.Principal.WindowsIdentity
Public Shared ReadOnly Property WindowsIdentity As WindowsIdentity

Nilai Properti

WindowsIdentity Instans yang mewakili identitas Windows pemanggil, atau null jika klien diautentikasi menggunakan autentikasi SQL Server.

Contoh

Contoh berikut menunjukkan cara mendapatkan identitas Windows dari klien panggilan dan meniru klien.

WindowsIdentity clientId = null;
WindowsImpersonationContext impersonatedUser = null;

clientId = SqlContext.WindowsIdentity;

// This outer try block is used to thwart exception filter attacks which would prevent
// the inner finally block from executing and resetting the impersonation.
try
{
   try
   {
      impersonatedUser = clientId.Impersonate();
      if (impersonatedUser != null)
      {
        // Perform some action using impersonation.
      }
   }
   finally
   {
      if (impersonatedUser != null)
         impersonatedUser.Undo();
   }
}
catch
{
   throw;
}
Dim clientId As WindowsIdentity
Dim impersonatedUser As WindowsImpersonationContext

clientId = SqlContext.WindowsIdentity

Try 
   Try
   
      impersonatedUser = clientId.Impersonate()

      If impersonatedUser IsNot Nothing Then
         ' Perform some action using impersonation.
      End If

   Finally

     If impersonatedUser IsNot Nothing Then
         impersonatedUser.Undo
     End If

   End Try

Catch e As Exception

   throw e

End Try

Keterangan

Kode runtime bahasa umum (CLR) di dalam SQL Server selalu dipanggil dalam konteks akun proses. Jika perlu kode untuk melakukan tindakan menggunakan memanggil identitas pengguna alih-alih identitas proses SQL Server, maka token peniruan harus diperoleh melalui properti ini. Setelah mendapatkan WindowsIdentity objek, penelepon dapat meniru akun klien dan melakukan tindakan atas nama mereka.

Jika dipanggil dari luar SQL Server, akan NotSupportedException dilemparkan.

Hanya rakitan yang ditandai dengan EXTERNAL_ACCESS izin atau UNSAFE yang dapat mengakses properti ini.

Properti ini bersifat hanya baca.

Berlaku untuk