SqlContext.WindowsIdentity Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.