NegotiateStream.BeginAuthenticateAsClient Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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
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
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
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.