This documentation is archived and is not being maintained.

AuthenticationSchemes Enumeration

Specifies protocols for authentication.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

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

<FlagsAttribute> _
Public Enumeration AuthenticationSchemes
Dim instance As AuthenticationSchemes

Member nameDescription
NoneNo authentication is allowed. A client requesting an HttpListener object with this flag set will always receive a 403 Forbidden status. Use this flag when a resource should never be served to a client.
DigestSpecifies digest authentication.

For additional information, see RFC2617 – HTTP Authentication: Basic and Digest Authentication. This document is available at

NegotiateNegotiates with the client to determine the authentication scheme. If both client and server support Kerberos, it is used; otherwise, NTLM is used.
NtlmSpecifies NTLM authentication.
BasicSpecifies basic authentication.

For additional information, see RFC2617 – HTTP Authentication: Basic and Digest Authentication. This document is available at

AnonymousSpecifies anonymous authentication.
IntegratedWindowsAuthenticationSpecifies Windows authentication.

This enumeration is used to specify the method used to authenticate client requests being processed by HttpListener objects.

Note   Basic authentication requires the exchange of a password and should therefore be avoided except in the case of secure, encrypted connections.

The following code example demonstrates using the Negotiate enumeration value to specify that clients are authenticated using the Negotiate security protocol.

Console.WriteLine("Listening for {0} prefixes...", listener.Prefixes.Count)
Dim context As HttpListenerContext = listener.GetContext()
Dim request As HttpListenerRequest = context.Request
Console.WriteLine("Received a request.")
' This server requires a valid client certificate 
' for requests that are not sent from the local computer. 

' Did the client omit the certificate or send an invalid certificate? 
If request.IsAuthenticated AndAlso request.GetClientCertificate() Is Nothing OrElse request.ClientCertificateError <> 0 Then 
    ' Send a 403 response. 
    Dim badCertificateResponse As HttpListenerResponse = context.Response
    Console.WriteLine("Client has invalid certificate.")
    Continue Do
End If

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0