WebRequest.AuthenticationLevel Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia wartości wskazujące poziom uwierzytelniania i personifikacji używane dla tego żądania.
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 AuthenticationLevel wartości. Wartość domyślna to MutualAuthRequested.
W przypadku wzajemnego uwierzytelniania zarówno klient, jak i serwer prezentują poświadczenia w celu ustalenia ich tożsamości. Wartości MutualAuthRequired i MutualAuthRequested są istotne dla uwierzytelniania Kerberos. Uwierzytelnianie Kerberos może być obsługiwane bezpośrednio lub może być używane, jeśli protokół zabezpieczeń Negocjuj jest używany do wybierania rzeczywistego protokołu zabezpieczeń. Aby uzyskać więcej informacji na temat protokołów uwierzytelniania, zobacz Uwierzytelnianie internetowe.
Aby określić, czy doszło do wzajemnego IsMutuallyAuthenticated uwierzytelniania, sprawdź właściwość .
Jeśli określisz MutualAuthRequired wartość flagi uwierzytelniania i wzajemne uwierzytelnianie nie nastąpi, aplikacja otrzyma wyjątek IOException wewnętrzny wskazujący ProtocolViolationException , że wzajemne uwierzytelnianie nie powiodło się.
Przykłady
Poniższy przykład kodu ustawia wartość tej właściwości.
// 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();
}