WebRequest.AuthenticationLevel WebRequest.AuthenticationLevel WebRequest.AuthenticationLevel WebRequest.AuthenticationLevel Property

Definizione

Ottiene o imposta i valori che indicano il livello di autenticazione e di rappresentazione usati per la richiesta.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

Valore della proprietà

Combinazione bit per bit dei valori di AuthenticationLevel.A bitwise combination of the AuthenticationLevel values. Il valore predefinito è MutualAuthRequested.The default value is MutualAuthRequested.

Nell'autenticazione reciproca il client e il server presentano entrambi credenziali per definire la propria identità.In mutual authentication, both the client and server present credentials to establish their identity. I valori MutualAuthRequired e MutualAuthRequested sono rilevanti per l'autenticazione Kerberos.The MutualAuthRequired and MutualAuthRequested values are relevant for Kerberos authentication. L'autenticazione Kerberos può essere supportata direttamente oppure può essere usata se per selezionare il protocollo di sicurezza effettivo viene impiegato il protocollo di sicurezza Negotiate.Kerberos authentication can be supported directly, or can be used if the Negotiate security protocol is used to select the actual security protocol. Per altre informazioni sui protocolli di autenticazione, vedere l'autenticazione Internet.For more information about authentication protocols, see Internet Authentication.

Per determinare se è stata effettuata l'autenticazione reciproca, verificare la proprietà IsMutuallyAuthenticated.To determine whether mutual authentication occurred, check the IsMutuallyAuthenticated property.

Se si specifica il valore del flag di autenticazione MutualAuthRequired e non si verifica l'autenticazione reciproca, l'applicazione riceverà un'eccezione IOException con un'eccezione interna ProtocolViolationException che indica che l'autenticazione reciproca non è riuscita.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.

Esempi

Esempio di codice seguente imposta il valore di questa proprietà.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();
}

Si applica a