Freigeben über


NegotiateStream.RemoteIdentity Eigenschaft

Definition

Ruft Informationen zur Identität der Remoteseite ab, für die dieser authentifizierte Stream freigegeben ist.

public:
 virtual property System::Security::Principal::IIdentity ^ RemoteIdentity { System::Security::Principal::IIdentity ^ get(); };
public virtual System.Security.Principal.IIdentity RemoteIdentity { get; }
member this.RemoteIdentity : System.Security.Principal.IIdentity
Public Overridable ReadOnly Property RemoteIdentity As IIdentity

Eigenschaftswert

Ein IIdentity-Objekt, das die Identität des Remoteendpunkts beschreibt.

Ausnahmen

Bei der Authentifizierung ist ein Fehler aufgetreten, oder es ist keine Authentifizierung erfolgt.

Beispiele

Im folgenden Codebeispiel wird die Anzeige des Werts dieser Eigenschaft veranschaulicht.

static void EndAuthenticateCallback( IAsyncResult^ ar )
{
   
   // Get the saved data.
   ClientState^ cState = dynamic_cast<ClientState^>(ar->AsyncState);
   TcpClient^ clientRequest = cState->Client;
   NegotiateStream^ authStream = dynamic_cast<NegotiateStream^>(cState->AuthStream);
   Console::WriteLine( L"Ending authentication." );
   
   // Any exceptions that occurred during authentication are
   // thrown by the EndServerAuthenticate method.
   try
   {
      
      // This call blocks until the authentication is complete.
      authStream->EndAuthenticateAsServer( ar );
   }
   catch ( AuthenticationException^ e ) 
   {
      Console::WriteLine( e );
      Console::WriteLine( L"Authentication failed - closing connection." );
      cState->Waiter->Set();
      return;
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( e );
      Console::WriteLine( L"Closing connection." );
      cState->Waiter->Set();
      return;
   }

   
   // Display properties of the authenticated client.
   IIdentity^ id = authStream->RemoteIdentity;
   Console::WriteLine( L"{0} was authenticated using {1}.", id->Name, id->AuthenticationType );
   cState->Waiter->Set();
}


private static void EndAuthenticateCallback(ClientState cState)
{
    // Get the saved data.
    NegotiateStream authStream = (NegotiateStream)cState.AuthenticatedStream;
    Console.WriteLine("Ending authentication.");

    // Display properties of the authenticated client.
    IIdentity id = authStream.RemoteIdentity;
    Console.WriteLine("{0} was authenticated using {1}.",
        id.Name,
        id.AuthenticationType
    );
}

Hinweise

Beim Zugriff durch den Client gibt diese Eigenschaft eine GenericIdentity zurück, die den Dienstprinzipalnamen (Service Principal Name, SPN) des Servers und das verwendete Authentifizierungsprotokoll enthält. Wenn der Server darauf zugreift, gibt diese Eigenschaft eine WindowsIdentity zurück, die den Client beschreibt. Wenn der WindowsIdentity nicht verfügbar ist, werden Clientinformationen an den Server in einem GenericIdentityzurückgegeben.

Gilt für: