WebRequest.AuthenticationLevel Свойство

Определение

Возвращает или задает значения, указывающие уровень проверки подлинности и олицетворения, используемые для этого запроса.Gets or sets values indicating the level of authentication and impersonation used for this request.

public:
 property System::Net::Security::AuthenticationLevel AuthenticationLevel { System::Net::Security::AuthenticationLevel get(); void set(System::Net::Security::AuthenticationLevel value); };
public System.Net.Security.AuthenticationLevel AuthenticationLevel { get; set; }
member this.AuthenticationLevel : System.Net.Security.AuthenticationLevel with get, set
Public Property AuthenticationLevel As AuthenticationLevel

Значение свойства

Поразрядное сочетание значений AuthenticationLevel.A bitwise combination of the AuthenticationLevel values. Значение по умолчанию — MutualAuthRequested.The default value is MutualAuthRequested.

При взаимной проверке подлинности как клиент, так и сервер предоставляют учетные данные для идентификации.In mutual authentication, both the client and server present credentials to establish their identity. Значения MutualAuthRequired и MutualAuthRequested применяются для проверки подлинности с использованием Kerberos.The MutualAuthRequired and MutualAuthRequested values are relevant for Kerberos authentication. Проверка подлинности по протоколу Kerberos может поддерживаться напрямую или использоваться, если для выбора фактического протокола безопасности применяется протокол безопасности Negotiate.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.

Чтобы определить, выполнена ли взаимная проверка подлинности, просмотрите свойство IsMutuallyAuthenticated.To determine whether mutual authentication occurred, check the IsMutuallyAuthenticated property.

Если указать значение флага проверки подлинности MutualAuthRequired, и при этом не произойдет взаимной проверки подлинности, приложение получит исключение IOException с внутренним исключением ProtocolViolationException, указывающим на сбой взаимной проверки подлинности.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.
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();
}

// 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();
}

Применяется к