NegotiateStream.RemoteIdentity Property

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Gets information about the identity of the remote party sharing this authenticated stream.

Namespace:   System.Net.Security
Assembly:  System (in System.dll)

public virtual IIdentity RemoteIdentity { get; }

Property Value

Type: System.Security.Principal.IIdentity

An IIdentity object that describes the identity of the remote endpoint.

Exception Condition
InvalidOperationException

Authentication failed or has not occurred.

When accessed by the client, this property returns a GenericIdentity containing the Service Principal Name (SPN) of the server and the authentication protocol used. When accessed by the server, this property returns a WindowsIdentity that describes the client. If the WindowsIdentity is not available, client information is returned to the server in a GenericIdentity.

The following code example demonstrates displaying the value of this property.

    public static void EndAuthenticateCallback (IAsyncResult ar)
    {
        // Get the saved data.
        ClientState cState = (ClientState) ar.AsyncState;
        TcpClient clientRequest = cState.Client;
        NegotiateStream authStream = (NegotiateStream) cState.AuthenticatedStream;
        Console.WriteLine("Ending authentication.");
        // Any exceptions that occurred during authentication are
        // thrown by the EndAuthenticateAsServer method.
        try 
        {
            // This call blocks until the authentication is complete.
            authStream.EndAuthenticateAsServer(ar);
        }
        catch (AuthenticationException e)
        {
            Console.WriteLine(e);
            Console.WriteLine("Authentication failed - closing connection.");
            cState.Waiter.Set();
            return;
        }
        catch (Exception e)
        {
            Console.WriteLine(e);
            Console.WriteLine("Closing connection.");
            cState.Waiter.Set();
            return;
        }
        // Display properties of the authenticated client.
        IIdentity id = authStream.RemoteIdentity;
        Console.WriteLine("{0} was authenticated using {1}.", 
            id.Name, 
            id.AuthenticationType
            );
        cState.Waiter.Set();

}

.NET Framework
Available since 2.0
Return to top
Show: