Freigeben über


NegotiateStream.BeginAuthenticateAsClient Methode

Definition

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

credential ist null.

- oder -

targetName ist null.

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

credential ist null.

- oder -

targetName ist null.

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

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

credential ist null.

- oder -

targetName ist null.

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

credential ist null.

- oder -

targetName ist null.

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

Gilt für: