Teilen über


AuthenticationLevel Enumeration

Definition

Gibt Clientanforderungen für Authentifizierung und Identitätswechsel bei der Verwendung der WebRequest-Klasse und der abgeleiteten Klassen zum Anfordern einer Ressource an.

public enum class AuthenticationLevel
public enum AuthenticationLevel
type AuthenticationLevel = 
Public Enum AuthenticationLevel
Vererbung
AuthenticationLevel

Felder

MutualAuthRequested 1

Der Client und der Server müssen authentifiziert sein. Die Anforderung schlägt nicht fehl, wenn der Server nicht authentifiziert ist. Um zu bestimmen, ob eine gegenseitige Authentifizierung erfolgt ist, überprüfen Sie den Wert der IsMutuallyAuthenticated-Eigenschaft.

MutualAuthRequired 2

Der Client und der Server müssen authentifiziert sein. Wenn der Server nicht authentifiziert ist, empfängt die Anwendung eine IOException mit der inneren ProtocolViolationException-Ausnahme, die angibt, dass die gegenseitige Authentifizierung fehlgeschlagen ist.

None 0

Für Client und Server ist keine Authentifizierung erforderlich.

Beispiele

Das folgende Codebeispiel veranschaulicht das Festlegen der Authentifizierungsflags für eine Anforderung.

// 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();
}

Hinweise

Die Werte dieser Enumeration werden verwendet, um die AuthenticationLevel -Eigenschaft festzulegen.

Hinweis

Die Werte MutualAuthRequired und MutualAuthRequested sind für die Kerberos-Authentifizierung relevant. Kerberos-Authentifizierung kann direkt unterstützt oder verwendet werden, wenn das tatsächliche Sicherheitsprotokoll mithilfe des Negotiate-Sicherheitsprotokolls ausgewählt wird. Weitere Informationen zu Authentifizierungsprotokollen finden Sie unter Internetauthentifizierung.

Gilt für: