Compartir vía


WebRequest.AuthenticationLevel Propiedad

Definición

Obtiene o establece valores que indican el nivel de autenticación y de suplantación utilizados para esta solicitud.

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

Valor de propiedad

Combinación bit a bit de los valores de AuthenticationLevel. El valor predeterminado es MutualAuthRequested.

En la autenticación mutua, el cliente y el servidor presentan credenciales para establecer su identidad. Los valores MutualAuthRequired y MutualAuthRequested son pertinentes para la autenticación Kerberos. La autenticación Kerberos se puede admitir directamente o se puede utilizar si se utiliza el protocolo de seguridad Negotiate para seleccionar el protocolo de seguridad activo. Para obtener más información sobre los protocolos de autenticación, consulte Autenticación de Internet.

Para determinar si estaba activa la autenticación mutua, compruebe la propiedad IsMutuallyAuthenticated.

Si especifica el valor del marcador de autenticación MutualAuthRequired y no se produce una autenticación mutua, su aplicación recibirá una IOException con una excepción interna ProtocolViolationException que indica un error en la autenticación mutua.

Ejemplos

En el ejemplo de código siguiente se establece el valor de esta propiedad.

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

Se aplica a