Click to Rate and Give Feedback
TechNet
TechNet Library
Collapse All/Expand All Collapse All
This page is specific to
Microsoft Visual Studio 2010/.NET Framework 4

Other versions are also available for the following:
.NET Framework Class Library
WebRequest..::.AuthenticationLevel Property

Gets or sets values indicating the level of authentication and impersonation used for this request.

Namespace:  System.Net
Assembly:  System (in System.dll)
Visual Basic
Public Property AuthenticationLevel As AuthenticationLevel
C#
public AuthenticationLevel AuthenticationLevel { get; set; }
Visual C++
public:
property AuthenticationLevel AuthenticationLevel {
    AuthenticationLevel get ();
    void set (AuthenticationLevel value);
}
F#
member AuthenticationLevel : AuthenticationLevel with get, set

Property Value

Type: System.Net.Security..::.AuthenticationLevel
A bitwise combination of the AuthenticationLevel values. The default value is MutualAuthRequested.
In mutual authentication, both the client and server present credentials to establish their identity. The MutualAuthRequired and MutualAuthRequested values are relevant for Kerberos authentication. Kerberos authentication can be supported directly, or can be used if the Negotiate security protocol is used to select the actual security protocol. For more information about authentication protocols, see Internet Authentication.
To determine whether mutual authentication occurred, check the WebResponse..::.IsMutuallyAuthenticated property.
If you specify the MutualAuthRequired authentication flag value and mutual authentication does not occur, your application will receive an IOException with a ProtocolViolationException inner exception indicating that mutual authentication failed.

The following code example sets the value of this property.

Visual Basic

' The following example uses the System, System.Net, 
' and System.IO namespaces.

Public Shared Sub RequestMutualAuth(ByVal resource As Uri)
    ' Create a new HttpWebRequest object for the specified resource.
    Dim request As WebRequest = CType(WebRequest.Create(resource), WebRequest)
    ' Request mutual authentication.
    request.AuthenticationLevel = AuthenticationLevel.MutualAuthRequested
    ' Supply client credentials.
    request.Credentials = CredentialCache.DefaultCredentials
    Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
    ' Determine whether mutual authentication was used.
    Console.WriteLine("Is mutually authenticated? {0}", response.IsMutuallyAuthenticated)
    ' Read and display the response.
    Dim streamResponse As Stream = response.GetResponseStream()
    Dim streamRead As New StreamReader(streamResponse)
    Dim responseString As String = streamRead.ReadToEnd()
    Console.WriteLine(responseString)
    ' Close the stream objects.
    streamResponse.Close()
    streamRead.Close()
    ' Release the HttpWebResponse.
    response.Close()
End Sub
C#

// The following example uses the System, System.Net, 
// and System.IO namespaces.

public static void RequestMutualAuth(Uri resource)
{
    // Create a new HttpWebRequest object for the specified resource.
    WebRequest request=(WebRequest) WebRequest.Create(resource);
    // Request mutual authentication.
   request.AuthenticationLevel = AuthenticationLevel.MutualAuthRequested;
    // Supply client credentials.
    request.Credentials = CredentialCache.DefaultCredentials;
    HttpWebResponse response = (HttpWebResponse) request.GetResponse();
    // Determine whether mutual authentication was used.
    Console.WriteLine("Is mutually authenticated? {0}", response.IsMutuallyAuthenticated);
    // Read and display the response.
    Stream streamResponse = response.GetResponseStream();
    StreamReader streamRead = new StreamReader(streamResponse);
    string responseString = streamRead.ReadToEnd();
   Console.WriteLine(responseString);
    // Close the stream objects.
    streamResponse.Close();
    streamRead.Close();
    // Release the HttpWebResponse.
    response.Close();
}
Visual C++
// The following example uses the System, System.Net, 
// and System.IO namespaces.
static void RequestMutualAuth( Uri^ resource )
{
   // Create a new HttpWebRequest object for the specified resource.
   WebRequest^ request = dynamic_cast<WebRequest^>(WebRequest::Create( resource ));

   // Request mutual authentication.
   request->AuthenticationLevel = AuthenticationLevel::MutualAuthRequested;

   // Supply client credentials.
   request->Credentials = CredentialCache::DefaultCredentials;
   HttpWebResponse^ response = dynamic_cast<HttpWebResponse^>(request->GetResponse());

   // Determine whether mutual authentication was used.
   Console::WriteLine( L"Is mutually authenticated? {0}", response->IsMutuallyAuthenticated );

   // Read and display the response.
   Stream^ streamResponse = response->GetResponseStream();
   StreamReader^ streamRead = gcnew StreamReader( streamResponse );
   String^ responseString = streamRead->ReadToEnd();
   Console::WriteLine( responseString );

   // Close the stream objects.
   streamResponse->Close();
   streamRead->Close();

   // Release the HttpWebResponse.
   response->Close();
}

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2012 Microsoft. All rights reserved. Terms of Use | Trademarks | Privacy Statement
Page view tracker