SqlContext.WindowsIdentity Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tożsamość obiektu wywołującego Windows firmy Microsoft.
public:
static property System::Security::Principal::WindowsIdentity ^ WindowsIdentity { System::Security::Principal::WindowsIdentity ^ get(); };
public static System.Security.Principal.WindowsIdentity WindowsIdentity { get; }
member this.WindowsIdentity : System.Security.Principal.WindowsIdentity
Public Shared ReadOnly Property WindowsIdentity As WindowsIdentity
Wartość właściwości
WindowsIdentity Wystąpienie reprezentujące tożsamość Windows obiektu wywołującego lub null
jeśli klient został uwierzytelniony przy użyciu uwierzytelniania SQL Server.
Przykłady
W poniższym przykładzie pokazano, jak uzyskać tożsamość Windows klienta wywołującego i personifikować klienta.
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
Uwagi
Kod środowiska uruchomieniowego języka wspólnego (CLR) wewnątrz SQL Server jest zawsze wywoływany w kontekście konta procesu. Jeśli kod jest niezbędny do wykonania akcji przy użyciu wywoływania tożsamości użytkownika zamiast tożsamości procesu SQL Server, należy uzyskać token personifikacji za pomocą tej właściwości. Po uzyskaniu WindowsIdentity obiektu osoby wywołujące mogą personifikować konto klienta i wykonywać akcje w ich imieniu.
W przypadku wywołania z zewnątrz SQL Server NotSupportedException jest zgłaszana wartość .
Tylko zestawy oznaczone z uprawnieniami EXTERNAL_ACCESS
lub UNSAFE
mogą uzyskiwać dostęp do tej właściwości.
Ta właściwość jest tylko do odczytu.