NegotiateStream.RemoteIdentity Property
Gets information about the identity of the remote party sharing this authenticated stream.
Namespace: System.Net.Security
Assembly: System (in System.dll)
| 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();
}
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.