NegotiateStream.BeginAuthenticateAsClient Metoda

Definicja

Rozpoczyna operację asynchroniczną w celu uwierzytelnienia po stronie klienta połączenia klient-serwer.

Przeciążenia

BeginAuthenticateAsClient(AsyncCallback, Object)

Wywoływane przez klientów, aby rozpocząć operację asynchroniczną w celu uwierzytelnienia klienta i opcjonalnie serwera w połączeniu klienta-serwera. Ta metoda nie blokuje.

BeginAuthenticateAsClient(NetworkCredential, String, AsyncCallback, Object)

Wywoływane przez klientów, aby rozpocząć operację asynchroniczną w celu uwierzytelnienia klienta i opcjonalnie serwera w połączeniu klienta-serwera. Proces uwierzytelniania używa określonych poświadczeń. Ta metoda nie blokuje.

BeginAuthenticateAsClient(NetworkCredential, ChannelBinding, String, AsyncCallback, Object)

Wywoływane przez klientów, aby rozpocząć operację asynchroniczną w celu uwierzytelnienia klienta i opcjonalnie serwera w połączeniu klienta-serwera. Proces uwierzytelniania używa określonych poświadczeń i powiązania kanału. Ta metoda nie blokuje.

BeginAuthenticateAsClient(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)

Wywoływane przez klientów, aby rozpocząć operację asynchroniczną w celu uwierzytelnienia klienta i opcjonalnie serwera w połączeniu klienta-serwera. Proces uwierzytelniania używa określonych poświadczeń i opcji uwierzytelniania. Ta metoda nie blokuje.

BeginAuthenticateAsClient(NetworkCredential, ChannelBinding, String, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)

Wywoływane przez klientów, aby rozpocząć operację asynchroniczną w celu uwierzytelnienia klienta i opcjonalnie serwera w połączeniu klienta-serwera. Proces uwierzytelniania używa określonych poświadczeń, opcji uwierzytelniania i powiązania kanału. Ta metoda nie blokuje.

Uwagi

Przeciążenia tej metody nie blokują się, gdy uwierzytelnianie jest w toku. Aby zablokować podczas oczekiwania na ukończenie uwierzytelniania, użyj jednej z AuthenticateAsClient metod.

BeginAuthenticateAsClient(AsyncCallback, Object)

Źródło:
NegotiateStream.cs
Źródło:
NegotiateStream.cs
Źródło:
NegotiateStream.cs

Wywoływane przez klientów, aby rozpocząć operację asynchroniczną w celu uwierzytelnienia klienta i opcjonalnie serwera w połączeniu klienta-serwera. Ta metoda nie blokuje.

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

Parametry

asyncCallback
AsyncCallback

Delegat AsyncCallback , który odwołuje się do metody wywoływania po zakończeniu uwierzytelniania.

asyncState
Object

Obiekt zdefiniowany przez użytkownika zawierający informacje o operacji. Ten obiekt jest przekazywany do delegata po zakończeniu asyncCallback operacji.

Zwraca

IAsyncResult Obiekt wskazujący stan operacji asynchronicznej.

Wyjątki

Uwierzytelnianie nie powiodło się. Możesz użyć tego obiektu, aby ponowić próbę uwierzytelnienia.

Uwierzytelnianie nie powiodło się. Możesz użyć tego obiektu, aby ponowić próbę uwierzytelnienia.

Ten obiekt został zamknięty.

Uwierzytelnianie zostało już zrobione.

-lub-

Ten strumień był wcześniej używany do próby uwierzytelnienia jako serwera. Nie można użyć strumienia, aby ponowić próbę uwierzytelnienia jako klienta.

Przykłady

W poniższym przykładzie pokazano wywołanie tej metody w celu rozpoczęcia asynchronicznego uwierzytelniania klienta.

// 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)

Uwagi

Uwierzytelnianie używa klienta DefaultCredentials. Dla serwera nie określono nazwy głównej usługi (SPN). Poziom personifikacji to Identification, a poziom zabezpieczeń to EncryptAndSign. Klasa NegotiateStream skonstruuje nazwę SPN używaną do wzajemnego uwierzytelniania.

Ta metoda jest asynchroniczna i nie blokuje się podczas wykonywania operacji. Aby zablokować działanie do momentu zakończenia operacji, użyj jednego z AuthenticateAsClient przeciążeń metody.

Operacja uwierzytelniania asynchronicznego musi zostać ukończona przez wywołanie EndAuthenticateAsClient metody . Zazwyczaj metoda jest wywoływana przez delegata asyncCallback . Aby uzyskać szczegółowe informacje o korzystaniu z asynchronicznego modelu programowania, zobacz Wywoływanie metod synchronicznych asynchronicznie

Jeśli uwierzytelnianie zakończy się niepowodzeniem, zostanie wyświetlony element AuthenticationException lub .InvalidCredentialException W takim przypadku możesz ponowić próbę uwierzytelnienia przy użyciu innego poświadczenia.

Dotyczy

BeginAuthenticateAsClient(NetworkCredential, String, AsyncCallback, Object)

Źródło:
NegotiateStream.cs
Źródło:
NegotiateStream.cs
Źródło:
NegotiateStream.cs

Wywoływane przez klientów, aby rozpocząć operację asynchroniczną w celu uwierzytelnienia klienta i opcjonalnie serwera w połączeniu klienta-serwera. Proces uwierzytelniania używa określonych poświadczeń. Ta metoda nie blokuje.

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

Parametry

credential
NetworkCredential

Element NetworkCredential służący do ustanawiania tożsamości klienta.

targetName
String

Główna nazwa usługi (SPN), która jednoznacznie identyfikuje serwer do uwierzytelnienia.

asyncCallback
AsyncCallback

Delegat AsyncCallback , który odwołuje się do metody wywoływania po zakończeniu uwierzytelniania.

asyncState
Object

Obiekt zdefiniowany przez użytkownika zawierający informacje o operacji zapisu. Ten obiekt jest przekazywany do delegata po zakończeniu asyncCallback operacji.

Zwraca

IAsyncResult Obiekt wskazujący stan operacji asynchronicznej.

Wyjątki

credential to null.

-lub-

targetName to null.

Uwierzytelnianie nie powiodło się. Możesz użyć tego obiektu, aby ponowić próbę uwierzytelnienia.

Uwierzytelnianie nie powiodło się. Możesz użyć tego obiektu, aby ponowić próbę uwierzytelnienia.

Ten obiekt został zamknięty.

Uwierzytelnianie zostało już zrobione.

-lub-

Ten strumień był wcześniej używany do próby uwierzytelnienia jako serwera. Nie można użyć strumienia, aby ponowić próbę uwierzytelnienia jako klienta.

Uwagi

Ta metoda jest asynchroniczna i nie blokuje się podczas wykonywania operacji. Aby zablokować działanie do momentu zakończenia operacji, użyj jednego z AuthenticateAsClient przeciążeń metody.

Operacja uwierzytelniania asynchronicznego musi zostać ukończona przez wywołanie EndAuthenticateAsClient metody . Zazwyczaj metoda jest wywoływana przez delegata asyncCallback . Aby uzyskać szczegółowe informacje o korzystaniu z asynchronicznego modelu programowania, zobacz Wywoływanie metod synchronicznych asynchronicznie

Jeśli uwierzytelnianie zakończy się niepowodzeniem, zostanie wyświetlony element AuthenticationException lub .InvalidCredentialException W takim przypadku możesz ponowić próbę uwierzytelnienia przy użyciu innego poświadczenia.

Dotyczy

BeginAuthenticateAsClient(NetworkCredential, ChannelBinding, String, AsyncCallback, Object)

Źródło:
NegotiateStream.cs
Źródło:
NegotiateStream.cs
Źródło:
NegotiateStream.cs

Wywoływane przez klientów, aby rozpocząć operację asynchroniczną w celu uwierzytelnienia klienta i opcjonalnie serwera w połączeniu klient-serwer. Proces uwierzytelniania używa określonych poświadczeń i powiązania kanału. Ta metoda nie blokuje.

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

Parametry

credential
NetworkCredential

Element NetworkCredential służący do ustanawiania tożsamości klienta.

binding
ChannelBinding

Element ChannelBinding , który jest używany do rozszerzonej ochrony.

targetName
String

Główna nazwa usługi (SPN), która jednoznacznie identyfikuje serwer do uwierzytelnienia.

asyncCallback
AsyncCallback

Delegat AsyncCallback , który odwołuje się do metody wywoływania po zakończeniu uwierzytelniania.

asyncState
Object

Obiekt zdefiniowany przez użytkownika zawierający informacje o operacji zapisu. Ten obiekt jest przekazywany do delegata po zakończeniu asyncCallback operacji.

Zwraca

IAsyncResult Obiekt wskazujący stan operacji asynchronicznej.

Wyjątki

credential to null.

-lub-

targetName to null.

Uwierzytelnianie nie powiodło się. Możesz użyć tego obiektu, aby ponowić próbę uwierzytelnienia.

Uwierzytelnianie nie powiodło się. Możesz użyć tego obiektu, aby ponowić próbę uwierzytelnienia.

Uwierzytelnianie zostało już zrobione.

-lub-

Ten strumień był wcześniej używany do próby uwierzytelnienia jako serwera. Nie można użyć strumienia, aby ponowić próbę uwierzytelnienia jako klienta.

Ten obiekt został zamknięty.

Uwagi

Ta metoda jest asynchroniczna i nie blokuje jej podczas wykonywania operacji. Aby zablokować operację do czasu zakończenia operacji, użyj jednego z AuthenticateAsClient przeciążeń metody.

Operacja uwierzytelniania asynchronicznego musi zostać ukończona przez wywołanie EndAuthenticateAsClient metody . Zazwyczaj metoda jest wywoływana przez delegata asyncCallback . Aby uzyskać szczegółowe informacje na temat korzystania z modelu programowania asynchronicznego, zobacz Asynchroniczne wywoływanie metod synchronicznych

Jeśli uwierzytelnianie zakończy się niepowodzeniem, otrzymasz element AuthenticationExceptionInvalidCredentialExceptionlub . W takim przypadku można ponowić próbę uwierzytelnienia przy użyciu innego poświadczenia.

Zobacz też

Dotyczy

BeginAuthenticateAsClient(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)

Źródło:
NegotiateStream.cs
Źródło:
NegotiateStream.cs
Źródło:
NegotiateStream.cs

Wywoływane przez klientów, aby rozpocząć operację asynchroniczną w celu uwierzytelnienia klienta i opcjonalnie serwera w połączeniu klient-serwer. Proces uwierzytelniania używa określonych poświadczeń i opcji uwierzytelniania. Ta metoda nie blokuje.

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

Parametry

credential
NetworkCredential

Służy NetworkCredential do ustanawiania tożsamości klienta.

targetName
String

Główna nazwa usługi (SPN), która jednoznacznie identyfikuje serwer do uwierzytelnienia.

requiredProtectionLevel
ProtectionLevel

ProtectionLevel Jedna z wartości wskazująca usługi zabezpieczeń dla strumienia.

allowedImpersonationLevel
TokenImpersonationLevel

TokenImpersonationLevel Jedna z wartości wskazująca, jak serwer może używać poświadczeń klienta do uzyskiwania dostępu do zasobów.

asyncCallback
AsyncCallback

Delegat AsyncCallback , który odwołuje się do metody wywoływania po zakończeniu uwierzytelniania.

asyncState
Object

Obiekt zdefiniowany przez użytkownika zawierający informacje o operacji zapisu. Ten obiekt jest przekazywany do delegata po zakończeniu asyncCallback operacji.

Zwraca

IAsyncResult Obiekt wskazujący stan operacji asynchronicznej.

Wyjątki

credential to null.

-lub-

targetName to null.

Uwierzytelnianie nie powiodło się. Tego obiektu można użyć do ponawiania próby uwierzytelnienia.

Uwierzytelnianie nie powiodło się. Tego obiektu można użyć do ponawiania próby uwierzytelnienia.

Ten obiekt został zamknięty.

Uwierzytelnianie już wystąpiło.

-lub-

Ten strumień był wcześniej używany do próby uwierzytelnienia jako serwera. Nie można użyć strumienia, aby ponowić próbę uwierzytelnienia jako klienta.

Uwagi

Użyj parametru , requiredProtectionLevel aby zażądać usług zabezpieczeń dla danych przesyłanych przy użyciu uwierzytelnionego strumienia. Na przykład aby dane były zaszyfrowane i podpisane, określ EncryptAndSign wartość . Pomyślne uwierzytelnienie nie gwarantuje udzielenia żądanego ProtectionLevel . Należy sprawdzić IsEncrypted właściwości i IsSigned , aby określić, które usługi zabezpieczeń są używane przez usługę NegotiateStream.

Ta metoda jest asynchroniczna i nie blokuje jej podczas wykonywania operacji. Aby zablokować operację do czasu zakończenia operacji, użyj jednego z AuthenticateAsClient przeciążeń metody.

Operacja uwierzytelniania asynchronicznego musi zostać ukończona przez wywołanie EndAuthenticateAsClient metody . Zazwyczaj metoda jest wywoływana przez delegata asyncCallback . Aby uzyskać szczegółowe informacje na temat korzystania z modelu programowania asynchronicznego, zobacz Asynchroniczne wywoływanie metod synchronicznych

Jeśli uwierzytelnianie zakończy się niepowodzeniem, otrzymasz element AuthenticationExceptionInvalidCredentialExceptionlub . W takim przypadku można ponowić próbę uwierzytelnienia przy użyciu innego poświadczenia.

Dotyczy

BeginAuthenticateAsClient(NetworkCredential, ChannelBinding, String, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)

Źródło:
NegotiateStream.cs
Źródło:
NegotiateStream.cs
Źródło:
NegotiateStream.cs

Wywoływane przez klientów, aby rozpocząć operację asynchroniczną w celu uwierzytelnienia klienta i opcjonalnie serwera w połączeniu klient-serwer. Proces uwierzytelniania używa określonych poświadczeń, opcji uwierzytelniania i powiązania kanału. Ta metoda nie blokuje.

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

Parametry

credential
NetworkCredential

Służy NetworkCredential do ustanawiania tożsamości klienta.

binding
ChannelBinding

Służy ChannelBinding do rozszerzonej ochrony.

targetName
String

Główna nazwa usługi (SPN), która jednoznacznie identyfikuje serwer do uwierzytelnienia.

requiredProtectionLevel
ProtectionLevel

ProtectionLevel Jedna z wartości wskazująca usługi zabezpieczeń dla strumienia.

allowedImpersonationLevel
TokenImpersonationLevel

TokenImpersonationLevel Jedna z wartości wskazująca, jak serwer może używać poświadczeń klienta do uzyskiwania dostępu do zasobów.

asyncCallback
AsyncCallback

Delegat AsyncCallback , który odwołuje się do metody wywoływania po zakończeniu uwierzytelniania.

asyncState
Object

Obiekt zdefiniowany przez użytkownika zawierający informacje o operacji zapisu. Ten obiekt jest przekazywany do delegata po zakończeniu asyncCallback operacji.

Zwraca

IAsyncResult Obiekt wskazujący stan operacji asynchronicznej.

Wyjątki

credential to null.

-lub-

targetName to null.

Uwierzytelnianie nie powiodło się. Tego obiektu można użyć do ponawiania próby uwierzytelnienia.

Uwierzytelnianie nie powiodło się. Tego obiektu można użyć do ponawiania próby uwierzytelnienia.

Uwierzytelnianie już wystąpiło.

-lub-

Ten strumień był wcześniej używany do próby uwierzytelnienia jako serwera. Nie można użyć strumienia, aby ponowić próbę uwierzytelnienia jako klienta.

Ten obiekt został zamknięty.

Uwagi

Użyj parametru , requiredProtectionLevel aby zażądać usług zabezpieczeń dla danych przesyłanych przy użyciu uwierzytelnionego strumienia. Na przykład aby dane były zaszyfrowane i podpisane, określ EncryptAndSign wartość . Pomyślne uwierzytelnienie nie gwarantuje udzielenia żądanego ProtectionLevel . Należy sprawdzić IsEncrypted właściwości i IsSigned , aby określić, które usługi zabezpieczeń są używane przez usługę NegotiateStream.

Ta metoda jest asynchroniczna i nie blokuje jej podczas wykonywania operacji. Aby zablokować operację do czasu zakończenia operacji, użyj jednego z AuthenticateAsClient przeciążeń metody.

Operacja uwierzytelniania asynchronicznego musi zostać ukończona przez wywołanie EndAuthenticateAsClient metody . Zazwyczaj metoda jest wywoływana przez delegata asyncCallback . Aby uzyskać szczegółowe informacje na temat korzystania z modelu programowania asynchronicznego, zobacz Asynchroniczne wywoływanie metod synchronicznych

Jeśli uwierzytelnianie zakończy się niepowodzeniem, otrzymasz element AuthenticationExceptionInvalidCredentialExceptionlub . W takim przypadku można ponowić próbę uwierzytelnienia przy użyciu innego poświadczenia.

Zobacz też

Dotyczy