Freigeben über


NegotiateStream.AuthenticateAsClientAsync Methode

Definition

Wird von Clients aufgerufen, um den Client und optional den Server in einer Clientserververbindung als asynchronen Vorgang zu authentifizieren.

Überlädt

Name Beschreibung
AuthenticateAsClientAsync()

Wird von Clients aufgerufen, um den Client und optional den Server in einer Clientserververbindung als asynchronen Vorgang zu authentifizieren.

AuthenticateAsClientAsync(NetworkCredential, String)

Wird von Clients aufgerufen, um den Client und optional den Server in einer Clientserververbindung als asynchronen Vorgang zu authentifizieren. Der Authentifizierungsprozess verwendet die angegebenen Clientanmeldeinformationen.

AuthenticateAsClientAsync(NetworkCredential, ChannelBinding, String)

Wird von Clients aufgerufen, um den Client und optional den Server in einer Clientserververbindung als asynchronen Vorgang zu authentifizieren. Der Authentifizierungsprozess verwendet die angegebenen Clientanmeldeinformationen und die Kanalbindung.

AuthenticateAsClientAsync(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel)

Wird von Clients aufgerufen, um den Client und optional den Server in einer Clientserververbindung als asynchronen Vorgang zu authentifizieren. Der Authentifizierungsprozess verwendet die angegebenen Anmeldeinformationen und Authentifizierungsoptionen.

AuthenticateAsClientAsync(NetworkCredential, ChannelBinding, String, ProtectionLevel, TokenImpersonationLevel)

Wird von Clients aufgerufen, um den Client und optional den Server in einer Clientserververbindung als asynchronen Vorgang zu authentifizieren. Der Authentifizierungsprozess verwendet die angegebenen Anmeldeinformationen, Authentifizierungsoptionen und Kanalbindung.

AuthenticateAsClientAsync()

Quelle:
NegotiateStream.cs
Quelle:
NegotiateStream.cs
Quelle:
NegotiateStream.cs
Quelle:
NegotiateStream.cs
Quelle:
NegotiateStream.cs

Wird von Clients aufgerufen, um den Client und optional den Server in einer Clientserververbindung als asynchronen Vorgang zu authentifizieren.

public:
 virtual System::Threading::Tasks::Task ^ AuthenticateAsClientAsync();
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync();
abstract member AuthenticateAsClientAsync : unit -> System.Threading.Tasks.Task
override this.AuthenticateAsClientAsync : unit -> System.Threading.Tasks.Task
Public Overridable Function AuthenticateAsClientAsync () As Task

Gibt zurück

Das Aufgabenobjekt, das den asynchronen Vorgang darstellt.

Ausnahmen

Fehler bei der Authentifizierung. Sie können dieses Objekt verwenden, um die Authentifizierung erneut zu versuchen.

Fehler bei der Authentifizierung. Sie können dieses Objekt verwenden, um die Authentifizierung erneut zu versuchen.

Dieses Objekt wurde geschlossen.

Die Authentifizierung ist bereits aufgetreten.

- oder -

Dieser Datenstrom wurde zuvor verwendet, um die Authentifizierung als Server zu versuchen. Sie können den Datenstrom nicht verwenden, um die Authentifizierung als Client erneut zu versuchen.

Hinweise

Die Authentifizierung verwendet die Client.DefaultCredentials Für den Server wird kein Dienstprinzipalname (Service Principal Name, SPN) angegeben. Die Identitätswechselebene lautet Identification, die Sicherheitsstufe ist EncryptAndSign, und die gegenseitige Authentifizierung wird angefordert. Die NegotiateStream Klasse erstellt den SPN, der für die gegenseitige Authentifizierung verwendet wird.

Wenn die Authentifizierung erfolgreich ist, müssen Sie die und IsSigned die IsEncrypted Eigenschaften überprüfen, um zu bestimmen, welche Sicherheitsdienste von der NegotiateStream. Überprüfen Sie die IsMutuallyAuthenticated Eigenschaft, um zu ermitteln, ob die gegenseitige Authentifizierung aufgetreten ist.

Wenn die Authentifizierung fehlschlägt, erhalten Sie eine AuthenticationException oder eine InvalidCredentialException. In diesem Fall können Sie die Authentifizierung mit anderen Anmeldeinformationen wiederholen.

Diese Methode speichert in der Aufgabe, die alle Nicht-Verwendungs-Ausnahmen zurückgibt, die das synchrone Gegenstück der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Verwendungsausnahmen, z. B. ArgumentException, werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie in den von AuthenticateAsClient().

Gilt für:

AuthenticateAsClientAsync(NetworkCredential, String)

Quelle:
NegotiateStream.cs
Quelle:
NegotiateStream.cs
Quelle:
NegotiateStream.cs
Quelle:
NegotiateStream.cs
Quelle:
NegotiateStream.cs

Wird von Clients aufgerufen, um den Client und optional den Server in einer Clientserververbindung als asynchronen Vorgang zu authentifizieren. Der Authentifizierungsprozess verwendet die angegebenen Clientanmeldeinformationen.

public:
 virtual System::Threading::Tasks::Task ^ AuthenticateAsClientAsync(System::Net::NetworkCredential ^ credential, System::String ^ targetName);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync(System.Net.NetworkCredential credential, string targetName);
abstract member AuthenticateAsClientAsync : System.Net.NetworkCredential * string -> System.Threading.Tasks.Task
override this.AuthenticateAsClientAsync : System.Net.NetworkCredential * string -> System.Threading.Tasks.Task
Public Overridable Function AuthenticateAsClientAsync (credential As NetworkCredential, targetName As String) As Task

Parameter

credential
NetworkCredential

Dies NetworkCredential wird verwendet, um die Identität des Clients einzurichten.

targetName
String

Der Dienstprinzipalname (Service Principal Name, SPN), der den zu authentifizierden Server eindeutig identifiziert.

Gibt zurück

Das Aufgabenobjekt, das den asynchronen Vorgang darstellt.

Ausnahmen

Fehler bei der Authentifizierung. Sie können dieses Objekt verwenden, um die Authentifizierung erneut zu versuchen.

Fehler bei der Authentifizierung. Sie können dieses Objekt verwenden, um die Authentifizierung erneut zu versuchen.

Dieses Objekt wurde geschlossen.

Die Authentifizierung ist bereits aufgetreten.

- oder -

Dieser Datenstrom wurde zuvor verwendet, um die Authentifizierung als Server zu versuchen. Sie können den Datenstrom nicht verwenden, um die Authentifizierung als Client erneut zu versuchen.

targetName ist null.

Hinweise

Die Identitätswechselebene lautet Identification, die Sicherheitsstufe ist EncryptAndSign, und die gegenseitige Authentifizierung wird angefordert. Die NegotiateStream Klasse erstellt den SPN, der für die gegenseitige Authentifizierung verwendet wird.

Wenn die Authentifizierung erfolgreich ist, müssen Sie die und IsSigned die IsEncrypted Eigenschaften überprüfen, um zu bestimmen, welche Sicherheitsdienste von der NegotiateStream. Überprüfen Sie die IsMutuallyAuthenticated Eigenschaft, um zu ermitteln, ob die gegenseitige Authentifizierung aufgetreten ist.

Diese Methode speichert in der Aufgabe, die alle Nicht-Verwendungs-Ausnahmen zurückgibt, die das synchrone Gegenstück der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Verwendungsausnahmen, z. B. ArgumentException, werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie in den von AuthenticateAsClient(NetworkCredential, String).

Gilt für:

AuthenticateAsClientAsync(NetworkCredential, ChannelBinding, String)

Quelle:
NegotiateStream.cs
Quelle:
NegotiateStream.cs
Quelle:
NegotiateStream.cs
Quelle:
NegotiateStream.cs
Quelle:
NegotiateStream.cs

Wird von Clients aufgerufen, um den Client und optional den Server in einer Clientserververbindung als asynchronen Vorgang zu authentifizieren. Der Authentifizierungsprozess verwendet die angegebenen Clientanmeldeinformationen und die Kanalbindung.

public:
 virtual System::Threading::Tasks::Task ^ AuthenticateAsClientAsync(System::Net::NetworkCredential ^ credential, System::Security::Authentication::ExtendedProtection::ChannelBinding ^ binding, System::String ^ targetName);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync(System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding? binding, string targetName);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync(System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding binding, string targetName);
abstract member AuthenticateAsClientAsync : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ChannelBinding * string -> System.Threading.Tasks.Task
override this.AuthenticateAsClientAsync : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ChannelBinding * string -> System.Threading.Tasks.Task
Public Overridable Function AuthenticateAsClientAsync (credential As NetworkCredential, binding As ChannelBinding, targetName As String) As Task

Parameter

credential
NetworkCredential

Dies NetworkCredential wird verwendet, um die Identität des Clients einzurichten.

binding
ChannelBinding

Dies ChannelBinding wird zum erweiterten Schutz verwendet.

targetName
String

Der Dienstprinzipalname (Service Principal Name, SPN), der den zu authentifizierden Server eindeutig identifiziert.

Gibt zurück

Das Aufgabenobjekt, das den asynchronen Vorgang darstellt.

Ausnahmen

targetName ist null.

- oder -

credential ist null.

Fehler bei der Authentifizierung. Sie können dieses Objekt verwenden, um die Authentifizierung erneut zu versuchen.

Fehler bei der Authentifizierung. Sie können dieses Objekt verwenden, um die Authentifizierung erneut zu versuchen.

Die Authentifizierung ist bereits aufgetreten.

- oder -

Dieser Datenstrom wurde zuvor verwendet, um die Authentifizierung als Server zu versuchen. Sie können den Datenstrom nicht verwenden, um die Authentifizierung als Client erneut zu versuchen.

Dieses Objekt wurde geschlossen.

Hinweise

Die Identitätswechselebene lautet Identification, die Sicherheitsstufe ist EncryptAndSign, und die gegenseitige Authentifizierung wird angefordert. Die NegotiateStream Klasse erstellt den SPN, der für die gegenseitige Authentifizierung verwendet wird.

Der ChannelBinding für den erweiterten Schutz verwendete Schutz, der binding an diese Methode im Parameter übergeben wird, würde von einer Anwendung aus TransportContext der Eigenschaft des zugeordneten SslStreamabgerufen werden.

Wenn die Authentifizierung erfolgreich ist, müssen Sie die und IsSigned die IsEncrypted Eigenschaften überprüfen, um zu bestimmen, welche Sicherheitsdienste von der NegotiateStream. Überprüfen Sie die IsMutuallyAuthenticated Eigenschaft, um zu ermitteln, ob die gegenseitige Authentifizierung aufgetreten ist.

Diese Methode speichert in der Aufgabe, die alle Nicht-Verwendungs-Ausnahmen zurückgibt, die das synchrone Gegenstück der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Verwendungsausnahmen, z. B. ArgumentException, werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie in den von AuthenticateAsClient(NetworkCredential, ChannelBinding, String).

Weitere Informationen

Gilt für:

AuthenticateAsClientAsync(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel)

Quelle:
NegotiateStream.cs
Quelle:
NegotiateStream.cs
Quelle:
NegotiateStream.cs
Quelle:
NegotiateStream.cs
Quelle:
NegotiateStream.cs

Wird von Clients aufgerufen, um den Client und optional den Server in einer Clientserververbindung als asynchronen Vorgang zu authentifizieren. Der Authentifizierungsprozess verwendet die angegebenen Anmeldeinformationen und Authentifizierungsoptionen.

public:
 virtual System::Threading::Tasks::Task ^ AuthenticateAsClientAsync(System::Net::NetworkCredential ^ credential, System::String ^ targetName, System::Net::Security::ProtectionLevel requiredProtectionLevel, System::Security::Principal::TokenImpersonationLevel allowedImpersonationLevel);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync(System.Net.NetworkCredential credential, string targetName, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel allowedImpersonationLevel);
abstract member AuthenticateAsClientAsync : System.Net.NetworkCredential * string * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel -> System.Threading.Tasks.Task
override this.AuthenticateAsClientAsync : System.Net.NetworkCredential * string * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel -> System.Threading.Tasks.Task
Public Overridable Function AuthenticateAsClientAsync (credential As NetworkCredential, targetName As String, requiredProtectionLevel As ProtectionLevel, allowedImpersonationLevel As TokenImpersonationLevel) As Task

Parameter

credential
NetworkCredential

Dies NetworkCredential wird verwendet, um die Identität des Clients einzurichten.

targetName
String

Der Dienstprinzipalname (Service Principal Name, SPN), der den zu authentifizierden Server eindeutig identifiziert.

requiredProtectionLevel
ProtectionLevel

Einer der ProtectionLevel Werte, der die Sicherheitsdienste für den Datenstrom angibt.

allowedImpersonationLevel
TokenImpersonationLevel

Einer der TokenImpersonationLevel Werte, der angibt, wie der Server die Anmeldeinformationen des Clients für den Zugriff auf Ressourcen verwenden kann.

Gibt zurück

Das Aufgabenobjekt, das den asynchronen Vorgang darstellt.

Ausnahmen

allowedImpersonationLevel ist kein gültiger Wert.

targetName ist NULL.

Fehler bei der Authentifizierung. Sie können dieses Objekt verwenden, um die Authentifizierung erneut zu versuchen.

Fehler bei der Authentifizierung. Sie können dieses Objekt verwenden, um die Authentifizierung erneut zu versuchen.

Dieses Objekt wurde geschlossen.

Die Authentifizierung ist bereits aufgetreten.

- oder -

Dieser Datenstrom wurde zuvor verwendet, um die Authentifizierung als Server zu versuchen. Sie können den Datenstrom nicht verwenden, um die Authentifizierung als Client erneut zu versuchen.

Hinweise

Verwenden Sie den requiredProtectionLevel Parameter, um Sicherheitsdienste für daten anzufordern, die mithilfe des authentifizierten Datenstroms übertragen werden. Um beispielsweise die Daten verschlüsselt und signiert zu haben, geben Sie den EncryptAndSign Wert an. Die erfolgreiche Authentifizierung garantiert nicht, dass die angeforderte ProtectionLevel Authentifizierung gewährt wurde. Sie müssen die und IsSigned die IsEncrypted Eigenschaften überprüfen, um zu bestimmen, welche Sicherheitsdienste von der NegotiateStream.

Wenn die Authentifizierung fehlschlägt, erhalten Sie eine AuthenticationException oder eine InvalidCredentialException. In diesem Fall können Sie die Authentifizierung mit anderen Anmeldeinformationen wiederholen.

Diese Methode speichert in der Aufgabe, die alle Nicht-Verwendungs-Ausnahmen zurückgibt, die das synchrone Gegenstück der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Verwendungsausnahmen, z. B. ArgumentException, werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie in den von AuthenticateAsClient(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel).

Gilt für:

AuthenticateAsClientAsync(NetworkCredential, ChannelBinding, String, ProtectionLevel, TokenImpersonationLevel)

Quelle:
NegotiateStream.cs
Quelle:
NegotiateStream.cs
Quelle:
NegotiateStream.cs
Quelle:
NegotiateStream.cs
Quelle:
NegotiateStream.cs

Wird von Clients aufgerufen, um den Client und optional den Server in einer Clientserververbindung als asynchronen Vorgang zu authentifizieren. Der Authentifizierungsprozess verwendet die angegebenen Anmeldeinformationen, Authentifizierungsoptionen und Kanalbindung.

public:
 virtual System::Threading::Tasks::Task ^ AuthenticateAsClientAsync(System::Net::NetworkCredential ^ credential, System::Security::Authentication::ExtendedProtection::ChannelBinding ^ binding, System::String ^ targetName, System::Net::Security::ProtectionLevel requiredProtectionLevel, System::Security::Principal::TokenImpersonationLevel allowedImpersonationLevel);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync(System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding? binding, string targetName, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel allowedImpersonationLevel);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync(System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding binding, string targetName, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel allowedImpersonationLevel);
abstract member AuthenticateAsClientAsync : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ChannelBinding * string * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel -> System.Threading.Tasks.Task
override this.AuthenticateAsClientAsync : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ChannelBinding * string * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel -> System.Threading.Tasks.Task
Public Overridable Function AuthenticateAsClientAsync (credential As NetworkCredential, binding As ChannelBinding, targetName As String, requiredProtectionLevel As ProtectionLevel, allowedImpersonationLevel As TokenImpersonationLevel) As Task

Parameter

credential
NetworkCredential

Dies NetworkCredential wird verwendet, um die Identität des Clients einzurichten.

binding
ChannelBinding

Dies ChannelBinding wird zum erweiterten Schutz verwendet.

targetName
String

Der Dienstprinzipalname (Service Principal Name, SPN), der den zu authentifizierden Server eindeutig identifiziert.

requiredProtectionLevel
ProtectionLevel

Einer der ProtectionLevel Werte, der die Sicherheitsdienste für den Datenstrom angibt.

allowedImpersonationLevel
TokenImpersonationLevel

Einer der TokenImpersonationLevel Werte, der angibt, wie der Server die Anmeldeinformationen des Clients für den Zugriff auf Ressourcen verwenden kann.

Gibt zurück

Das Aufgabenobjekt, das den asynchronen Vorgang darstellt.

Ausnahmen

targetName ist null.

- oder -

credential ist null.

allowedImpersonationLevel ist kein gültiger Wert.

Fehler bei der Authentifizierung. Sie können dieses Objekt verwenden, um die Authentifizierung erneut zu versuchen.

Fehler bei der Authentifizierung. Sie können dieses Objekt verwenden, um die Authentifizierung erneut zu versuchen.

Die Authentifizierung ist bereits aufgetreten.

- oder -

Dieser Datenstrom wurde zuvor verwendet, um die Authentifizierung als Server zu versuchen. Sie können den Datenstrom nicht verwenden, um die Authentifizierung als Client erneut zu versuchen.

Dieses Objekt wurde geschlossen.

Hinweise

Verwenden Sie den requiredProtectionLevel Parameter, um Sicherheitsdienste für daten anzufordern, die mithilfe des authentifizierten Datenstroms übertragen werden. Um beispielsweise die Daten verschlüsselt und signiert zu haben, geben Sie den EncryptAndSign Wert an. Die erfolgreiche Authentifizierung garantiert nicht, dass die angeforderte ProtectionLevel Authentifizierung gewährt wurde. Sie müssen die und IsSigned die IsEncrypted Eigenschaften überprüfen, um zu bestimmen, welche Sicherheitsdienste von der NegotiateStream.

Der ChannelBinding für den erweiterten Schutz verwendete Schutz, der binding an diese Methode im Parameter übergeben wird, würde von einer Anwendung aus TransportContext der Eigenschaft des zugeordneten SslStreamabgerufen werden.

Wenn die Authentifizierung fehlschlägt, erhalten Sie eine AuthenticationException oder eine InvalidCredentialException. In diesem Fall können Sie die Authentifizierung mit anderen Anmeldeinformationen wiederholen.

Diese Methode speichert in der Aufgabe, die alle Nicht-Verwendungs-Ausnahmen zurückgibt, die das synchrone Gegenstück der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Verwendungsausnahmen, z. B. ArgumentException, werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie in den von AuthenticateAsClient(NetworkCredential, ChannelBinding, String, ProtectionLevel, TokenImpersonationLevel).

Weitere Informationen

Gilt für: