WebRequest.AuthenticationLevel Property
.NET Framework 3.5
Gets or sets values indicating the level of authentication and impersonation used for this request.
Assembly: System (in System.dll)
public function get AuthenticationLevel () : AuthenticationLevel public function set AuthenticationLevel (value : AuthenticationLevel)
Property Value
Type: System.Net.Security.AuthenticationLevelA 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.
// 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=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(S"Is mutually authenticated? {0}", __box(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();
}
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.