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

Definition

Ruft Werte ab, die die für diese Anforderung verwendete Ebene von Authentifizierung und Identitätswechsel angeben, oder legt diese fest.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

Eigenschaftswert

Eine bitweise Kombination der AuthenticationLevel-Werte.A bitwise combination of the AuthenticationLevel values. Der Standardwert ist MutualAuthRequested.The default value is MutualAuthRequested.

Bei gegenseitiger Authentifizierung stellen sowohl Client als auch Server Anmeldeinformationen bereit, um ihre Identität anzugeben.In mutual authentication, both the client and server present credentials to establish their identity. Der MutualAuthRequired-Wert und der MutualAuthRequested-Wert sind für die Kerberos-Authentifizierung relevant.The MutualAuthRequired and MutualAuthRequested values are relevant for Kerberos authentication. Kerberos-Authentifizierung kann direkt unterstützt oder verwendet werden, wenn das tatsächliche Sicherheitsprotokoll mithilfe des Negotiate-Sicherheitsprotokolls ausgewählt wird.Kerberos authentication can be supported directly, or can be used if the Negotiate security protocol is used to select the actual security protocol. Weitere Informationen über Authentifizierungsprotokolle finden Sie unter Internetauthentifizierung.For more information about authentication protocols, see Internet Authentication.

Um zu bestimmen, ob eine gegenseitige Authentifizierung erfolgt ist, überprüfen Sie die IsMutuallyAuthenticated-Eigenschaft.To determine whether mutual authentication occurred, check the IsMutuallyAuthenticated property.

Wenn Sie den MutualAuthRequired-Authentifizierungsflagwert angeben und keine gegenseitige Authentifizierung erfolgt, empfängt die Anwendung eine IOException mit der inneren Ausnahme ProtocolViolationException, um anzugeben, dass die gegenseitige Authentifizierung fehlgeschlagen ist.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.

Beispiele

Das folgende Codebeispiel legt den Wert dieser Eigenschaft fest.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();
}

Gilt für: