SqlContext.WindowsIdentity Właściwość

Definicja

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

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.

Dotyczy