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 Client-/Serververbindung zu authentifizieren.
Überlädt
BeginAuthenticateAsClient(AsyncCallback, Object) |
Wird bei einer Client-/Serververbindung von Clients zum Starten eines asynchronen Vorgangs zum Authentifizieren des Clients und optional auch des Servers aufgerufen. Diese Methode wird nicht blockiert. |
BeginAuthenticateAsClient(NetworkCredential, String, AsyncCallback, Object) |
Wird bei einer Client-/Serververbindung von Clients zum Starten eines asynchronen Vorgangs zum Authentifizieren des Clients und optional auch des Servers aufgerufen. Für den Authentifizierungsprozess werden die angegebenen Anmeldeinformationen verwendet. Diese Methode wird nicht blockiert. |
BeginAuthenticateAsClient(NetworkCredential, ChannelBinding, String, AsyncCallback, Object) |
Wird bei einer Client-/Serververbindung von Clients zum Starten eines asynchronen Vorgangs zum Authentifizieren des Clients und optional auch des Servers aufgerufen. Für den Authentifizierungsprozess werden die angegebenen Anmeldeinformationen und die Channelbindung verwendet. Diese Methode wird nicht blockiert. |
BeginAuthenticateAsClient(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object) |
Wird bei einer Client-/Serververbindung von Clients zum Starten eines asynchronen Vorgangs zum Authentifizieren des Clients und optional auch des Servers aufgerufen. Beim Authentifizierungsprozess werden die angegebenen Anmeldeinformationen und Authentifizierungsoptionen verwendet. Diese Methode wird nicht blockiert. |
BeginAuthenticateAsClient(NetworkCredential, ChannelBinding, String, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object) |
Wird bei einer Client-/Serververbindung von Clients zum Starten eines asynchronen Vorgangs zum Authentifizieren des Clients und optional auch des Servers aufgerufen. Für den Authentifizierungsprozess werden die angegebenen Anmeldeinformationen, Authentifizierungsoptionen und die Channelbindung verwendet. Diese Methode wird nicht blockiert. |
Hinweise
Die Überladungen dieser Methode werden während der Authentifizierung nicht blockiert. Verwenden Sie eine der Methoden, um zu blockieren, während sie auf den Abschluss der AuthenticateAsClient Authentifizierung warten.
BeginAuthenticateAsClient(AsyncCallback, Object)
- Quelle:
- NegotiateStream.cs
- Quelle:
- NegotiateStream.cs
- Quelle:
- NegotiateStream.cs
Wird bei einer Client-/Serververbindung von Clients zum Starten eines asynchronen Vorgangs zum Authentifizieren des Clients und optional auch des Servers aufgerufen. Diese Methode wird nicht blockiert.
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 bei Abschluss der Authentifizierung aufgerufen werden soll.
- asyncState
- Object
Ein benutzerdefiniertes Objekt, das Informationen zum Vorgang enthält. Dieses Objekt wird bei Abschluss des Vorgangs an den asyncCallback
-Delegaten übergeben.
Gibt zurück
Ein IAsyncResult-Objekt, das den Status des asynchronen Vorgangs angibt.
Ausnahmen
Fehler bei der Authentifizierung. Sie können die Authentifizierung mithilfe dieses Objekts wiederholen.
Fehler bei der Authentifizierung. Sie können die Authentifizierung mithilfe dieses Objekts wiederholen.
Dieses Objekt wurde geschlossen.
Die Authentifizierung ist bereits erfolgt.
- oder -
Dieser Stream wurde zuvor für einen Authentifizierungsversuch als Server verwendet. Sie können den Stream nicht verwenden, um den Authentifizierungsversuch als Client zu wiederholen.
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( Dns::GetHostName() );
IPAddress^ ipAddress = ipHostInfo->AddressList[ 0 ];
// Client and server use port 11000.
IPEndPoint^ remoteEP = gcnew IPEndPoint( ipAddress,11000 );
// Create a TCP/IP socket.
client = gcnew TcpClient;
// Connect the socket to the remote endpoint.
client->Connect( remoteEP );
Console::WriteLine( L"Client connected to {0}.", remoteEP );
// Ensure the client does not close when there is
// still data to be sent to the server.
client->LingerState = (gcnew LingerOption( true,0 ));
// Request authentication.
NetworkStream^ clientStream = client->GetStream();
NegotiateStream^ authStream = gcnew NegotiateStream( clientStream,false );
// Pass the NegotiateStream as the AsyncState object
// so that it is available to the callback delegate.
IAsyncResult^ ar = authStream->BeginAuthenticateAsClient( gcnew AsyncCallback( EndAuthenticateCallback ), authStream );
// 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 den 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 Regel wird die -Methode vom asyncCallback
Delegaten aufgerufen. Ausführliche Informationen zur Verwendung des asynchronen Programmiermodells finden Sie unter Aufrufen synchroner Methoden asynchron.
Wenn die Authentifizierung fehlschlägt, erhalten Sie ein AuthenticationException oder ein 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
Wird bei einer Client-/Serververbindung von Clients zum Starten eines asynchronen Vorgangs zum Authentifizieren des Clients und optional auch des Servers aufgerufen. Für den Authentifizierungsprozess werden die angegebenen Anmeldeinformationen verwendet. Diese Methode wird nicht blockiert.
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
Die NetworkCredential zum Feststellen der Clientidentität.
- targetName
- String
Der SPN, der den zu authentifizierenden Server eindeutig identifiziert.
- asyncCallback
- AsyncCallback
Ein AsyncCallback-Delegat, der auf die Methode verweist, die bei Abschluss der Authentifizierung aufgerufen werden soll.
- asyncState
- Object
Ein benutzerdefiniertes Objekt, das Informationen zum Schreibvorgang enthält. Dieses Objekt wird bei Abschluss des Vorgangs an den asyncCallback
-Delegaten übergeben.
Gibt zurück
Ein IAsyncResult-Objekt, das den Status des asynchronen Vorgangs angibt.
Ausnahmen
Fehler bei der Authentifizierung. Sie können die Authentifizierung mithilfe dieses Objekts wiederholen.
Fehler bei der Authentifizierung. Sie können die Authentifizierung mithilfe dieses Objekts wiederholen.
Dieses Objekt wurde geschlossen.
Die Authentifizierung ist bereits erfolgt.
- oder -
Dieser Stream wurde zuvor für einen Authentifizierungsversuch als Server verwendet. Sie können den Stream nicht verwenden, um den Authentifizierungsversuch als Client zu wiederholen.
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 Regel wird die -Methode vom asyncCallback
Delegaten aufgerufen. Ausführliche Informationen zur Verwendung des asynchronen Programmiermodells finden Sie unter Aufrufen synchroner Methoden asynchron.
Wenn die Authentifizierung fehlschlägt, erhalten Sie ein AuthenticationException oder ein 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
Wird bei einer Client-/Serververbindung von Clients zum Starten eines asynchronen Vorgangs zum Authentifizieren des Clients und optional auch des Servers aufgerufen. Für den Authentifizierungsprozess werden die angegebenen Anmeldeinformationen und die Channelbindung verwendet. Diese Methode wird nicht blockiert.
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
Die NetworkCredential zum Feststellen der Clientidentität.
- binding
- ChannelBinding
Das für erweiterten Schutz verwendete ChannelBinding.
- targetName
- String
Der SPN, der den zu authentifizierenden Server eindeutig identifiziert.
- asyncCallback
- AsyncCallback
Ein AsyncCallback-Delegat, der auf die Methode verweist, die bei Abschluss der Authentifizierung aufgerufen werden soll.
- asyncState
- Object
Ein benutzerdefiniertes Objekt, das Informationen zum Schreibvorgang enthält. Dieses Objekt wird bei Abschluss des Vorgangs an den asyncCallback
-Delegaten übergeben.
Gibt zurück
Ein IAsyncResult-Objekt, das den Status des asynchronen Vorgangs angibt.
Ausnahmen
Fehler bei der Authentifizierung. Sie können die Authentifizierung mithilfe dieses Objekts wiederholen.
Fehler bei der Authentifizierung. Sie können die Authentifizierung mithilfe dieses Objekts wiederholen.
Die Authentifizierung ist bereits erfolgt.
- oder -
Dieser Stream wurde zuvor für einen Authentifizierungsversuch als Server verwendet. Sie können den Stream nicht verwenden, um den Authentifizierungsversuch als Client zu wiederholen.
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 Regel wird die -Methode vom asyncCallback
Delegaten aufgerufen. Ausführliche Informationen zur Verwendung des asynchronen Programmiermodells finden Sie unter Aufrufen synchroner Methoden asynchron.
Wenn die Authentifizierung fehlschlägt, erhalten Sie ein AuthenticationException oder ein InvalidCredentialException. In diesem Fall können Sie die Authentifizierung mit anderen Anmeldeinformationen wiederholen.
Weitere Informationen
- ChannelBinding
- Integrierte Windows-Authentifizierung unter Verwendung von "Erweiterter Schutz" (möglicherweise auf Englisch)
Gilt für:
BeginAuthenticateAsClient(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)
- Quelle:
- NegotiateStream.cs
- Quelle:
- NegotiateStream.cs
- Quelle:
- NegotiateStream.cs
Wird bei einer Client-/Serververbindung von Clients zum Starten eines asynchronen Vorgangs zum Authentifizieren des Clients und optional auch des Servers aufgerufen. Beim Authentifizierungsprozess werden die angegebenen Anmeldeinformationen und Authentifizierungsoptionen verwendet. Diese Methode wird nicht blockiert.
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
Die NetworkCredential zum Feststellen der Clientidentität.
- targetName
- String
Der SPN, der den zu authentifizierenden Server eindeutig identifiziert.
- requiredProtectionLevel
- ProtectionLevel
Einer der ProtectionLevel-Werte, der die Sicherheitsdienste für den Stream angibt.
- allowedImpersonationLevel
- TokenImpersonationLevel
Einer der TokenImpersonationLevel-Werte, der angibt, wie der Server mit den Clientanmeldeinformationen auf Ressourcen zugreifen kann.
- asyncCallback
- AsyncCallback
Ein AsyncCallback-Delegat, der auf die Methode verweist, die bei Abschluss der Authentifizierung aufgerufen werden soll.
- asyncState
- Object
Ein benutzerdefiniertes Objekt, das Informationen zum Schreibvorgang enthält. Dieses Objekt wird bei Abschluss des Vorgangs an den asyncCallback
-Delegaten übergeben.
Gibt zurück
Ein IAsyncResult-Objekt, das den Status des asynchronen Vorgangs angibt.
Ausnahmen
Fehler bei der Authentifizierung. Sie können die Authentifizierung mithilfe dieses Objekts wiederholen.
Fehler bei der Authentifizierung. Sie können die Authentifizierung mithilfe dieses Objekts wiederholen.
Dieses Objekt wurde geschlossen.
Die Authentifizierung ist bereits erfolgt.
- oder -
Dieser Stream wurde zuvor für einen Authentifizierungsversuch als Server verwendet. Sie können den Stream nicht verwenden, um den Authentifizierungsversuch als Client zu wiederholen.
Hinweise
Verwenden Sie den requiredProtectionLevel
-Parameter, um Sicherheitsdienste für Daten anzufordern, die mit dem authentifizierten Stream übertragen werden. Geben Sie beispielsweise den EncryptAndSign Wert an, um die Daten verschlüsselt und signiert zu lassen. Eine erfolgreiche Authentifizierung garantiert nicht, dass das angeforderte ProtectionLevel gewährt wurde. Sie müssen die IsEncrypted Eigenschaften und IsSigned überprüfen, um zu ermitteln, welche Sicherheitsdienste von NegotiateStreamverwendet werden.
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 Regel wird die -Methode vom asyncCallback
Delegaten aufgerufen. Ausführliche Informationen zur Verwendung des asynchronen Programmiermodells finden Sie unter Aufrufen synchroner Methoden asynchron.
Wenn die Authentifizierung fehlschlägt, erhalten Sie ein AuthenticationException oder ein 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
Wird bei einer Client-/Serververbindung von Clients zum Starten eines asynchronen Vorgangs zum Authentifizieren des Clients und optional auch des Servers aufgerufen. Für den Authentifizierungsprozess werden die angegebenen Anmeldeinformationen, Authentifizierungsoptionen und die Channelbindung verwendet. Diese Methode wird nicht blockiert.
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
Die NetworkCredential zum Feststellen der Clientidentität.
- binding
- ChannelBinding
Das für erweiterten Schutz verwendete ChannelBinding.
- targetName
- String
Der SPN, der den zu authentifizierenden Server eindeutig identifiziert.
- requiredProtectionLevel
- ProtectionLevel
Einer der ProtectionLevel-Werte, der die Sicherheitsdienste für den Stream angibt.
- allowedImpersonationLevel
- TokenImpersonationLevel
Einer der TokenImpersonationLevel-Werte, der angibt, wie der Server mit den Clientanmeldeinformationen auf Ressourcen zugreifen kann.
- asyncCallback
- AsyncCallback
Ein AsyncCallback-Delegat, der auf die Methode verweist, die bei Abschluss der Authentifizierung aufgerufen werden soll.
- asyncState
- Object
Ein benutzerdefiniertes Objekt, das Informationen zum Schreibvorgang enthält. Dieses Objekt wird bei Abschluss des Vorgangs an den asyncCallback
-Delegaten übergeben.
Gibt zurück
Ein IAsyncResult-Objekt, das den Status des asynchronen Vorgangs angibt.
Ausnahmen
Fehler bei der Authentifizierung. Sie können die Authentifizierung mithilfe dieses Objekts wiederholen.
Fehler bei der Authentifizierung. Sie können die Authentifizierung mithilfe dieses Objekts wiederholen.
Die Authentifizierung ist bereits erfolgt.
- oder -
Dieser Stream wurde zuvor für einen Authentifizierungsversuch als Server verwendet. Sie können den Stream nicht verwenden, um den Authentifizierungsversuch als Client zu wiederholen.
Dieses Objekt wurde geschlossen.
Hinweise
Verwenden Sie den requiredProtectionLevel
-Parameter, um Sicherheitsdienste für Daten anzufordern, die mit dem authentifizierten Stream übertragen werden. Geben Sie beispielsweise den EncryptAndSign Wert an, um die Daten verschlüsselt und signiert zu lassen. Eine erfolgreiche Authentifizierung garantiert nicht, dass das angeforderte ProtectionLevel gewährt wurde. Sie müssen die IsEncrypted Eigenschaften und IsSigned überprüfen, um zu ermitteln, welche Sicherheitsdienste von NegotiateStreamverwendet werden.
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 Regel wird die -Methode vom asyncCallback
Delegaten aufgerufen. Ausführliche Informationen zur Verwendung des asynchronen Programmiermodells finden Sie unter Aufrufen synchroner Methoden asynchron.
Wenn die Authentifizierung fehlschlägt, erhalten Sie ein AuthenticationException oder ein InvalidCredentialException. In diesem Fall können Sie die Authentifizierung mit anderen Anmeldeinformationen wiederholen.
Weitere Informationen
- ChannelBinding
- Integrierte Windows-Authentifizierung unter Verwendung von "Erweiterter Schutz" (möglicherweise auf Englisch)