NegotiateStream.BeginAuthenticateAsClient Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Startet einen asynchronen Vorgang, um die Clientseite einer Clientserververbindung zu authentifizieren.
Überlädt
| Name | Beschreibung |
|---|---|
| BeginAuthenticateAsClient(AsyncCallback, Object) |
Wird von Clients aufgerufen, um einen asynchronen Vorgang zur Authentifizierung des Clients und optional den Server in einer Clientserververbindung zu starten. Diese Methode blockiert nicht. |
| BeginAuthenticateAsClient(NetworkCredential, String, AsyncCallback, Object) |
Wird von Clients aufgerufen, um einen asynchronen Vorgang zur Authentifizierung des Clients und optional den Server in einer Clientserververbindung zu starten. Der Authentifizierungsprozess verwendet die angegebenen Anmeldeinformationen. Diese Methode blockiert nicht. |
| BeginAuthenticateAsClient(NetworkCredential, ChannelBinding, String, AsyncCallback, Object) |
Wird von Clients aufgerufen, um einen asynchronen Vorgang zur Authentifizierung des Clients und optional den Server in einer Clientserververbindung zu starten. Der Authentifizierungsprozess verwendet die angegebenen Anmeldeinformationen und die Kanalbindung. Diese Methode blockiert nicht. |
| BeginAuthenticateAsClient(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object) |
Wird von Clients aufgerufen, um einen asynchronen Vorgang zur Authentifizierung des Clients und optional den Server in einer Clientserververbindung zu starten. Der Authentifizierungsprozess verwendet die angegebenen Anmeldeinformationen und Authentifizierungsoptionen. Diese Methode blockiert nicht. |
| BeginAuthenticateAsClient(NetworkCredential, ChannelBinding, String, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object) |
Wird von Clients aufgerufen, um einen asynchronen Vorgang zur Authentifizierung des Clients und optional den Server in einer Clientserververbindung zu starten. Der Authentifizierungsprozess verwendet die angegebenen Anmeldeinformationen, Authentifizierungsoptionen und Kanalbindung. Diese Methode blockiert nicht. |
Hinweise
Die Überladungen dieser Methode blockieren nicht, während die Authentifizierung ausgeführt wird. Wenn Sie während des Wartens auf den Abschluss der Authentifizierung blockieren möchten, verwenden Sie eine der AuthenticateAsClient Methoden.
BeginAuthenticateAsClient(AsyncCallback, Object)
- Quelle:
- NegotiateStream.cs
- Quelle:
- NegotiateStream.cs
- Quelle:
- NegotiateStream.cs
- Quelle:
- NegotiateStream.cs
- Quelle:
- NegotiateStream.cs
Wird von Clients aufgerufen, um einen asynchronen Vorgang zur Authentifizierung des Clients und optional den Server in einer Clientserververbindung zu starten. Diese Methode blockiert nicht.
public:
virtual IAsyncResult ^ BeginAuthenticateAsClient(AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient(AsyncCallback? asyncCallback, object? asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient(AsyncCallback asyncCallback, object asyncState);
abstract member BeginAuthenticateAsClient : AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsClient : AsyncCallback * obj -> IAsyncResult
Public Overridable Function BeginAuthenticateAsClient (asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Parameter
- asyncCallback
- AsyncCallback
Ein AsyncCallback Delegat, der auf die Methode verweist, die aufgerufen werden soll, wenn die Authentifizierung abgeschlossen ist.
- asyncState
- Object
Ein benutzerdefiniertes Objekt, das Informationen zum Vorgang enthält. Dieses Objekt wird an den asyncCallback Delegaten übergeben, wenn der Vorgang abgeschlossen ist.
Gibt zurück
Ein IAsyncResult Objekt, das den Status des asynchronen Vorgangs angibt.
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.
Beispiele
Im folgenden Beispiel wird das Aufrufen dieser Methode veranschaulicht, um eine asynchrone Authentifizierung für den Client zu starten.
// Establish the remote endpoint for the socket.
// For this example, use the local machine.
IPHostEntry ipHostInfo = Dns.GetHostEntry("localhost");
IPAddress ipAddress = ipHostInfo.AddressList[0];
// Client and server use port 11000.
IPEndPoint remoteEP = new IPEndPoint(ipAddress, 11000);
// Create a TCP/IP socket.
client = new TcpClient();
// Connect the socket to the remote endpoint.
client.Connect(remoteEP);
Console.WriteLine("Client connected to {0}.", remoteEP.ToString());
// Ensure the client does not close when there is
// still data to be sent to the server.
client.LingerState = new LingerOption(true, 0);
// Request authentication.
NetworkStream clientStream = client.GetStream();
NegotiateStream authStream = new NegotiateStream(clientStream, false);
// Pass the NegotiateStream as the AsyncState object
// so that it is available to the callback delegate.
Task authenticateTask = authStream
.AuthenticateAsClientAsync()
.ContinueWith(task =>
{
Console.WriteLine("Client ending authentication...");
Console.WriteLine("ImpersonationLevel: {0}", authStream.ImpersonationLevel);
});
' Establish the remote endpoint for the socket.
' For this example, use the local machine.
Dim ipHostInfo = Dns.GetHostEntry("localhost")
Dim ipAddress = ipHostInfo.AddressList(0)
' Client and server use port 11000.
Dim remoteEP As New IPEndPoint(ipAddress, 11000)
' Create a TCP/IP socket.
client = New TcpClient()
' Connect the socket to the remote endpoint.
client.Connect(remoteEP)
Console.WriteLine("Client connected to {0}.", remoteEP.ToString())
' Ensure the client does not close when there is
' still data to be sent to the server.
client.LingerState = (New LingerOption(True, 0))
' Request authentication.
Dim clientStream = client.GetStream()
Dim authStream As New NegotiateStream(clientStream, False)
' Pass the NegotiateStream as the AsyncState object
' so that it is available to the callback delegate.
Dim ar = authStream.BeginAuthenticateAsClient(
New AsyncCallback(AddressOf EndAuthenticateCallback), authStream)
Hinweise
Die Authentifizierung verwendet die Client.DefaultCredentials Für den Server wird kein Dienstprinzipalname (Service Principal Name, SPN) angegeben. Die Identitätswechselebene ist Identification, und die Sicherheitsstufe ist EncryptAndSign. Die NegotiateStream Klasse erstellt den SPN, der für die gegenseitige Authentifizierung verwendet wird.
Diese Methode ist asynchron und blockiert nicht, während der Vorgang abgeschlossen ist. Um zu blockieren, bis der Vorgang abgeschlossen ist, verwenden Sie eine der AuthenticateAsClient Methodenüberladungen.
Der asynchrone Authentifizierungsvorgang muss durch Aufrufen der EndAuthenticateAsClient Methode abgeschlossen werden. In der asyncCallback Regel wird die Methode vom Delegaten aufgerufen. Ausführliche Informationen zur Verwendung des asynchronen Programmiermodells finden Sie unter asynchrones Aufrufen synchroner Methoden
Wenn die Authentifizierung fehlschlägt, erhalten Sie eine AuthenticationException oder eine InvalidCredentialException. In diesem Fall können Sie die Authentifizierung mit anderen Anmeldeinformationen wiederholen.
Gilt für:
BeginAuthenticateAsClient(NetworkCredential, String, AsyncCallback, Object)
- Quelle:
- NegotiateStream.cs
- Quelle:
- NegotiateStream.cs
- Quelle:
- NegotiateStream.cs
- Quelle:
- NegotiateStream.cs
- Quelle:
- NegotiateStream.cs
Wird von Clients aufgerufen, um einen asynchronen Vorgang zur Authentifizierung des Clients und optional den Server in einer Clientserververbindung zu starten. Der Authentifizierungsprozess verwendet die angegebenen Anmeldeinformationen. Diese Methode blockiert nicht.
public:
virtual IAsyncResult ^ BeginAuthenticateAsClient(System::Net::NetworkCredential ^ credential, System::String ^ targetName, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient(System.Net.NetworkCredential credential, string targetName, AsyncCallback? asyncCallback, object? asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient(System.Net.NetworkCredential credential, string targetName, AsyncCallback asyncCallback, object asyncState);
abstract member BeginAuthenticateAsClient : System.Net.NetworkCredential * string * AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsClient : System.Net.NetworkCredential * string * AsyncCallback * obj -> IAsyncResult
Public Overridable Function BeginAuthenticateAsClient (credential As NetworkCredential, targetName As String, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
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.
- asyncCallback
- AsyncCallback
Ein AsyncCallback Delegat, der auf die Methode verweist, die aufgerufen werden soll, wenn die Authentifizierung abgeschlossen ist.
- asyncState
- Object
Ein benutzerdefiniertes Objekt, das Informationen zum Schreibvorgang enthält. Dieses Objekt wird an den asyncCallback Delegaten übergeben, wenn der Vorgang abgeschlossen ist.
Gibt zurück
Ein IAsyncResult Objekt, das den Status des asynchronen Vorgangs angibt.
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
Diese Methode ist asynchron und blockiert nicht, während der Vorgang abgeschlossen ist. Um zu blockieren, bis der Vorgang abgeschlossen ist, verwenden Sie eine der AuthenticateAsClient Methodenüberladungen.
Der asynchrone Authentifizierungsvorgang muss durch Aufrufen der EndAuthenticateAsClient Methode abgeschlossen werden. In der asyncCallback Regel wird die Methode vom Delegaten aufgerufen. Ausführliche Informationen zur Verwendung des asynchronen Programmiermodells finden Sie unter asynchrones Aufrufen synchroner Methoden
Wenn die Authentifizierung fehlschlägt, erhalten Sie eine AuthenticationException oder eine InvalidCredentialException. In diesem Fall können Sie die Authentifizierung mit anderen Anmeldeinformationen wiederholen.
Gilt für:
BeginAuthenticateAsClient(NetworkCredential, ChannelBinding, String, AsyncCallback, Object)
- Quelle:
- NegotiateStream.cs
- Quelle:
- NegotiateStream.cs
- Quelle:
- NegotiateStream.cs
- Quelle:
- NegotiateStream.cs
- Quelle:
- NegotiateStream.cs
Wird von Clients aufgerufen, um einen asynchronen Vorgang zur Authentifizierung des Clients und optional den Server in einer Clientserververbindung zu starten. Der Authentifizierungsprozess verwendet die angegebenen Anmeldeinformationen und die Kanalbindung. Diese Methode blockiert nicht.
public:
virtual IAsyncResult ^ BeginAuthenticateAsClient(System::Net::NetworkCredential ^ credential, System::Security::Authentication::ExtendedProtection::ChannelBinding ^ binding, System::String ^ targetName, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient(System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding? binding, string targetName, AsyncCallback? asyncCallback, object? asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient(System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding binding, string targetName, AsyncCallback asyncCallback, object asyncState);
abstract member BeginAuthenticateAsClient : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ChannelBinding * string * AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsClient : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ChannelBinding * string * AsyncCallback * obj -> IAsyncResult
Public Overridable Function BeginAuthenticateAsClient (credential As NetworkCredential, binding As ChannelBinding, targetName As String, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
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.
- asyncCallback
- AsyncCallback
Ein AsyncCallback Delegat, der auf die Methode verweist, die aufgerufen werden soll, wenn die Authentifizierung abgeschlossen ist.
- asyncState
- Object
Ein benutzerdefiniertes Objekt, das Informationen zum Schreibvorgang enthält. Dieses Objekt wird an den asyncCallback Delegaten übergeben, wenn der Vorgang abgeschlossen ist.
Gibt zurück
Ein IAsyncResult Objekt, das den Status des asynchronen Vorgangs angibt.
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.
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
Diese Methode ist asynchron und blockiert nicht, während der Vorgang abgeschlossen ist. Um zu blockieren, bis der Vorgang abgeschlossen ist, verwenden Sie eine der AuthenticateAsClient Methodenüberladungen.
Der asynchrone Authentifizierungsvorgang muss durch Aufrufen der EndAuthenticateAsClient Methode abgeschlossen werden. In der asyncCallback Regel wird die Methode vom Delegaten aufgerufen. Ausführliche Informationen zur Verwendung des asynchronen Programmiermodells finden Sie unter asynchrones Aufrufen synchroner Methoden
Wenn die Authentifizierung fehlschlägt, erhalten Sie eine AuthenticationException oder eine InvalidCredentialException. In diesem Fall können Sie die Authentifizierung mit anderen Anmeldeinformationen wiederholen.
Weitere Informationen
Gilt für:
BeginAuthenticateAsClient(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)
- Quelle:
- NegotiateStream.cs
- Quelle:
- NegotiateStream.cs
- Quelle:
- NegotiateStream.cs
- Quelle:
- NegotiateStream.cs
- Quelle:
- NegotiateStream.cs
Wird von Clients aufgerufen, um einen asynchronen Vorgang zur Authentifizierung des Clients und optional den Server in einer Clientserververbindung zu starten. Der Authentifizierungsprozess verwendet die angegebenen Anmeldeinformationen und Authentifizierungsoptionen. Diese Methode blockiert nicht.
public:
virtual IAsyncResult ^ BeginAuthenticateAsClient(System::Net::NetworkCredential ^ credential, System::String ^ targetName, System::Net::Security::ProtectionLevel requiredProtectionLevel, System::Security::Principal::TokenImpersonationLevel allowedImpersonationLevel, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient(System.Net.NetworkCredential credential, string targetName, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel allowedImpersonationLevel, AsyncCallback? asyncCallback, object? asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient(System.Net.NetworkCredential credential, string targetName, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel allowedImpersonationLevel, AsyncCallback asyncCallback, object asyncState);
abstract member BeginAuthenticateAsClient : System.Net.NetworkCredential * string * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel * AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsClient : System.Net.NetworkCredential * string * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel * AsyncCallback * obj -> IAsyncResult
Public Overridable Function BeginAuthenticateAsClient (credential As NetworkCredential, targetName As String, requiredProtectionLevel As ProtectionLevel, allowedImpersonationLevel As TokenImpersonationLevel, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
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.
- asyncCallback
- AsyncCallback
Ein AsyncCallback Delegat, der auf die Methode verweist, die aufgerufen werden soll, wenn die Authentifizierung abgeschlossen ist.
- asyncState
- Object
Ein benutzerdefiniertes Objekt, das Informationen zum Schreibvorgang enthält. Dieses Objekt wird an den asyncCallback Delegaten übergeben, wenn der Vorgang abgeschlossen ist.
Gibt zurück
Ein IAsyncResult Objekt, das den Status des asynchronen Vorgangs angibt.
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
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 IsEncrypted die IsSigned Eigenschaften überprüfen, um zu bestimmen, welche Sicherheitsdienste von der NegotiateStream.
Diese Methode ist asynchron und blockiert nicht, während der Vorgang abgeschlossen ist. Um zu blockieren, bis der Vorgang abgeschlossen ist, verwenden Sie eine der AuthenticateAsClient Methodenüberladungen.
Der asynchrone Authentifizierungsvorgang muss durch Aufrufen der EndAuthenticateAsClient Methode abgeschlossen werden. In der asyncCallback Regel wird die Methode vom Delegaten aufgerufen. Ausführliche Informationen zur Verwendung des asynchronen Programmiermodells finden Sie unter asynchrones Aufrufen synchroner Methoden
Wenn die Authentifizierung fehlschlägt, erhalten Sie eine AuthenticationException oder eine InvalidCredentialException. In diesem Fall können Sie die Authentifizierung mit anderen Anmeldeinformationen wiederholen.
Gilt für:
BeginAuthenticateAsClient(NetworkCredential, ChannelBinding, String, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)
- Quelle:
- NegotiateStream.cs
- Quelle:
- NegotiateStream.cs
- Quelle:
- NegotiateStream.cs
- Quelle:
- NegotiateStream.cs
- Quelle:
- NegotiateStream.cs
Wird von Clients aufgerufen, um einen asynchronen Vorgang zur Authentifizierung des Clients und optional den Server in einer Clientserververbindung zu starten. Der Authentifizierungsprozess verwendet die angegebenen Anmeldeinformationen, Authentifizierungsoptionen und Kanalbindung. Diese Methode blockiert nicht.
public:
virtual IAsyncResult ^ BeginAuthenticateAsClient(System::Net::NetworkCredential ^ credential, System::Security::Authentication::ExtendedProtection::ChannelBinding ^ binding, System::String ^ targetName, System::Net::Security::ProtectionLevel requiredProtectionLevel, System::Security::Principal::TokenImpersonationLevel allowedImpersonationLevel, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient(System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding? binding, string targetName, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel allowedImpersonationLevel, AsyncCallback? asyncCallback, object? asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient(System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding binding, string targetName, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel allowedImpersonationLevel, AsyncCallback asyncCallback, object asyncState);
abstract member BeginAuthenticateAsClient : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ChannelBinding * string * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel * AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsClient : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ChannelBinding * string * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel * AsyncCallback * obj -> IAsyncResult
Public Overridable Function BeginAuthenticateAsClient (credential As NetworkCredential, binding As ChannelBinding, targetName As String, requiredProtectionLevel As ProtectionLevel, allowedImpersonationLevel As TokenImpersonationLevel, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
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.
- asyncCallback
- AsyncCallback
Ein AsyncCallback Delegat, der auf die Methode verweist, die aufgerufen werden soll, wenn die Authentifizierung abgeschlossen ist.
- asyncState
- Object
Ein benutzerdefiniertes Objekt, das Informationen zum Schreibvorgang enthält. Dieses Objekt wird an den asyncCallback Delegaten übergeben, wenn der Vorgang abgeschlossen ist.
Gibt zurück
Ein IAsyncResult Objekt, das den Status des asynchronen Vorgangs angibt.
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.
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 IsEncrypted die IsSigned Eigenschaften überprüfen, um zu bestimmen, welche Sicherheitsdienste von der NegotiateStream.
Diese Methode ist asynchron und blockiert nicht, während der Vorgang abgeschlossen ist. Um zu blockieren, bis der Vorgang abgeschlossen ist, verwenden Sie eine der AuthenticateAsClient Methodenüberladungen.
Der asynchrone Authentifizierungsvorgang muss durch Aufrufen der EndAuthenticateAsClient Methode abgeschlossen werden. In der asyncCallback Regel wird die Methode vom Delegaten aufgerufen. Ausführliche Informationen zur Verwendung des asynchronen Programmiermodells finden Sie unter asynchrones Aufrufen synchroner Methoden
Wenn die Authentifizierung fehlschlägt, erhalten Sie eine AuthenticationException oder eine InvalidCredentialException. In diesem Fall können Sie die Authentifizierung mit anderen Anmeldeinformationen wiederholen.