WebRequest.AuthenticationLevel Vlastnost

Definice

Získá nebo nastaví hodnoty určující úroveň ověřování a zosobnění použitou pro tuto žádost.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

Hodnota vlastnosti

AuthenticationLevel

Bitová kombinace AuthenticationLevel hodnot.A bitwise combination of the AuthenticationLevel values. Výchozí hodnota je MutualAuthRequested.The default value is MutualAuthRequested.

V rámci vzájemného ověřování má klient i server přihlašovací údaje k zavedení své identity.In mutual authentication, both the client and server present credentials to establish their identity. MutualAuthRequiredHodnoty a MutualAuthRequested jsou relevantní pro ověřování protokolem Kerberos.The MutualAuthRequired and MutualAuthRequested values are relevant for Kerberos authentication. Ověřování protokolem Kerberos se dá podporovat přímo, nebo se dá použít, pokud se použije protokol zabezpečení Negotiate k výběru skutečného protokolu zabezpečení.Kerberos authentication can be supported directly, or can be used if the Negotiate security protocol is used to select the actual security protocol. Další informace o ověřovacích protokolech najdete v tématu ověřování v Internetu.For more information about authentication protocols, see Internet Authentication.

Chcete-li zjistit, zda došlo k vzájemnému ověřování, zkontrolujte IsMutuallyAuthenticated vlastnost.To determine whether mutual authentication occurred, check the IsMutuallyAuthenticated property.

Pokud zadáte MutualAuthRequired hodnotu příznaku ověřování a vzájemné ověřování neproběhne, bude aplikace přijímat interní IOException ProtocolViolationException výjimku oznamující, že vzájemné ověření se nezdařilo.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.

Příklady

Následující příklad kódu nastaví hodnotu této vlastnosti.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();
}

Platí pro