AuthenticationLevel AuthenticationLevel AuthenticationLevel AuthenticationLevel Enum

Определение

Определяет клиентские требования проверки подлинности и олицетворения при использовании класса WebRequest и производных от него классов для запроса ресурса.Specifies client requirements for authentication and impersonation when using the WebRequest class and derived classes to request a resource.

public enum class AuthenticationLevel
public enum AuthenticationLevel
type AuthenticationLevel = 
Public Enum AuthenticationLevel
Наследование
AuthenticationLevelAuthenticationLevelAuthenticationLevelAuthenticationLevel

Поля

MutualAuthRequested MutualAuthRequested MutualAuthRequested MutualAuthRequested 1

Клиент и сервер должны пройти проверку подлинности.The client and server should be authenticated. Запрос не завершается неудачно, если сервер не прошел проверку подлинности.The request does not fail if the server is not authenticated. Чтобы определить, произошла ли взаимная проверка подлинности, следует проверить значение свойства IsMutuallyAuthenticated.To determine whether mutual authentication occurred, check the value of the IsMutuallyAuthenticated property.

MutualAuthRequired MutualAuthRequired MutualAuthRequired MutualAuthRequired 2

Клиент и сервер должны пройти проверку подлинности.The client and server should be authenticated. Если сервер не прошел проверку подлинности, приложение получит исключение IOException с внутренним исключением ProtocolViolationException, указывающим на неудачное завершение взаимной проверки подлинности.If the server is not authenticated, your application will receive an IOException with a ProtocolViolationException inner exception that indicates that mutual authentication failed

None None None None 0

Для клиента и для сервера проверка подлинности не требуется.No authentication is required for the client and server.

Примеры

В следующем примере кода показано задание флагов проверки подлинности для запроса.The following code example demonstrates setting the authentication flags for a request.

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

Комментарии

Значения этого перечисления используются для задания AuthenticationLevel свойства.The values of this enumeration are used to set the AuthenticationLevel property.

Примечание

Значения Мутуалаусрекуиред и Мутуалаусрекуестед важны для проверки подлинности 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.

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