WebRequest.AuthenticationLevel Właściwość

Definicja

Pobiera lub ustawia wartości wskazujące poziom uwierzytelniania i personifikacji używany dla tego żądania.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

Wartość właściwości

Bitowa kombinacja wartości AuthenticationLevel.A bitwise combination of the AuthenticationLevel values. Wartością domyślną jest MutualAuthRequested.The default value is MutualAuthRequested.

W ramach wzajemnego uwierzytelniania zarówno klient, jak i serwer obecne poświadczenia w celu ustalenia tożsamości.In mutual authentication, both the client and server present credentials to establish their identity. Wartości MutualAuthRequired i MutualAuthRequested są odpowiednie dla uwierzytelniania Kerberos.The MutualAuthRequired and MutualAuthRequested values are relevant for Kerberos authentication. Uwierzytelnianie Kerberos może być obsługiwane bezpośrednio lub może być używane, jeśli protokół zabezpieczeń Negotiate jest używany do wybierania rzeczywistego protokołu zabezpieczeń.Kerberos authentication can be supported directly, or can be used if the Negotiate security protocol is used to select the actual security protocol. Aby uzyskać więcej informacji na temat protokołów uwierzytelniania, zobacz Uwierzytelnianie internetowe.For more information about authentication protocols, see Internet Authentication.

Aby określić, czy nastąpiło wzajemne uwierzytelnianie, sprawdź Właściwość IsMutuallyAuthenticated.To determine whether mutual authentication occurred, check the IsMutuallyAuthenticated property.

Jeśli określisz wartość flagi uwierzytelniania MutualAuthRequired, a uwierzytelnianie wzajemne nie wystąpi, aplikacja otrzyma IOException z ProtocolViolationException wyjątek wewnętrzny wskazujący, że uwierzytelnianie wzajemne nie powiedzie się.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.

Przykłady

Poniższy przykład kodu ustawia wartość tej właściwości.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();
}

Dotyczy