NegotiateStream.ImpersonationLevel Property


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

Gets a value that indicates how the server can use the client's credentials.

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

public virtual TokenImpersonationLevel ImpersonationLevel { get; }

Exception Condition

Authentication failed or has not occurred.

You must successfully authenticate before calling this method. Clients specify the impersonation level when they request authentication by calling one of the AuthenticateAsClient or BeginAuthenticateAsClient methods. If you authenticate without specifying a TokenImpersonationLevel , Identification is used.


These platforms use NTLM for authentication; NTLM does not support impersonation.

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

 static void DisplayAuthenticationProperties(NegotiateStream stream)
     Console.WriteLine("IsAuthenticated: {0}", stream.IsAuthenticated);
    Console.WriteLine("IsMutuallyAuthenticated: {0}", stream.IsMutuallyAuthenticated);
    Console.WriteLine("IsEncrypted: {0}", stream.IsEncrypted);
    Console.WriteLine("IsSigned: {0}", stream.IsSigned);
    Console.WriteLine("ImpersonationLevel: {0}", stream.ImpersonationLevel);
    Console.WriteLine("IsServer: {0}", stream.IsServer);

.NET Framework
Available since 2.0
Return to top