Udostępnij za pośrednictwem


NegotiateStream.AuthenticateAsClientAsync Metoda

Definicja

Wywoływane przez klientów w celu uwierzytelnienia klienta i opcjonalnie serwera w połączeniu klienta-serwera jako operacji asynchronicznej.

Przeciążenia

AuthenticateAsClientAsync()

Wywoływane przez klientów w celu uwierzytelniania klienta i opcjonalnie serwera w połączeniu klient-serwer jako operacja asynchroniczna.

AuthenticateAsClientAsync(NetworkCredential, String)

Wywoływane przez klientów w celu uwierzytelniania klienta i opcjonalnie serwera w połączeniu klient-serwer jako operacja asynchroniczna. Proces uwierzytelniania używa określonego poświadczenia klienta.

AuthenticateAsClientAsync(NetworkCredential, ChannelBinding, String)

Wywoływane przez klientów w celu uwierzytelniania klienta i opcjonalnie serwera w połączeniu klient-serwer jako operacja asynchroniczna. Proces uwierzytelniania używa określonych poświadczeń klienta i powiązania kanału.

AuthenticateAsClientAsync(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel)

Wywoływane przez klientów w celu uwierzytelniania klienta i opcjonalnie serwera w połączeniu klient-serwer jako operacja asynchroniczna. Proces uwierzytelniania używa określonych poświadczeń i opcji uwierzytelniania.

AuthenticateAsClientAsync(NetworkCredential, ChannelBinding, String, ProtectionLevel, TokenImpersonationLevel)

Wywoływane przez klientów w celu uwierzytelniania klienta i opcjonalnie serwera w połączeniu klient-serwer jako operacja asynchroniczna. Proces uwierzytelniania używa określonych poświadczeń, opcji uwierzytelniania i powiązania kanału.

AuthenticateAsClientAsync()

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

Wywoływane przez klientów w celu uwierzytelniania klienta i opcjonalnie serwera w połączeniu klient-serwer jako operacja asynchroniczna.

public:
 virtual System::Threading::Tasks::Task ^ AuthenticateAsClientAsync();
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync ();
abstract member AuthenticateAsClientAsync : unit -> System.Threading.Tasks.Task
override this.AuthenticateAsClientAsync : unit -> System.Threading.Tasks.Task
Public Overridable Function AuthenticateAsClientAsync () As Task

Zwraca

Obiekt zadania reprezentujący operację asynchroniczną.

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

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

Po pomyślnym uwierzytelnieniu 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. Sprawdź właściwość , IsMutuallyAuthenticated aby określić, czy wystąpiło wzajemne uwierzytelnianie.

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.

Ta metoda jest przechowywana w zadaniu, które zwraca wszystkie wyjątki nieużytowe, które może zgłosić synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwracanym zadaniu, ten wyjątek zostanie zgłoszony podczas oczekiwania zadania. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. W przypadku przechowywanych wyjątków zobacz wyjątki zgłoszone przez AuthenticateAsClient()usługę .

Dotyczy

AuthenticateAsClientAsync(NetworkCredential, String)

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

Wywoływane przez klientów w celu uwierzytelniania klienta i opcjonalnie serwera w połączeniu klient-serwer jako operacja asynchroniczna. Proces uwierzytelniania używa określonego poświadczenia klienta.

public:
 virtual System::Threading::Tasks::Task ^ AuthenticateAsClientAsync(System::Net::NetworkCredential ^ credential, System::String ^ targetName);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (System.Net.NetworkCredential credential, string targetName);
abstract member AuthenticateAsClientAsync : System.Net.NetworkCredential * string -> System.Threading.Tasks.Task
override this.AuthenticateAsClientAsync : System.Net.NetworkCredential * string -> System.Threading.Tasks.Task
Public Overridable Function AuthenticateAsClientAsync (credential As NetworkCredential, targetName As String) As Task

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.

Zwraca

Obiekt zadania reprezentujący operację asynchroniczną.

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.

targetName to null.

Uwagi

Poziom personifikacji to Identification, poziom zabezpieczeń to EncryptAndSign, a wymagane jest wzajemne uwierzytelnianie. Klasa NegotiateStream skonstruuje nazwę SPN używaną do wzajemnego uwierzytelniania.

Po pomyślnym uwierzytelnieniu 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. Sprawdź właściwość , IsMutuallyAuthenticated aby określić, czy wystąpiło wzajemne uwierzytelnianie.

Ta metoda jest przechowywana w zadaniu, które zwraca wszystkie wyjątki nieużytowe, które może zgłosić synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwracanym zadaniu, ten wyjątek zostanie zgłoszony podczas oczekiwania zadania. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. W przypadku przechowywanych wyjątków zobacz wyjątki zgłoszone przez AuthenticateAsClient(NetworkCredential, String)usługę .

Dotyczy

AuthenticateAsClientAsync(NetworkCredential, ChannelBinding, String)

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

Wywoływane przez klientów w celu uwierzytelniania klienta i opcjonalnie serwera w połączeniu klient-serwer jako operacja asynchroniczna. Proces uwierzytelniania używa określonych poświadczeń klienta i powiązania kanału.

public:
 virtual System::Threading::Tasks::Task ^ AuthenticateAsClientAsync(System::Net::NetworkCredential ^ credential, System::Security::Authentication::ExtendedProtection::ChannelBinding ^ binding, System::String ^ targetName);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding? binding, string targetName);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding binding, string targetName);
abstract member AuthenticateAsClientAsync : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ChannelBinding * string -> System.Threading.Tasks.Task
override this.AuthenticateAsClientAsync : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ChannelBinding * string -> System.Threading.Tasks.Task
Public Overridable Function AuthenticateAsClientAsync (credential As NetworkCredential, binding As ChannelBinding, targetName As String) As Task

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.

Zwraca

Obiekt zadania reprezentujący operację asynchroniczną.

Wyjątki

targetName to null.

-lub-

credential 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

Poziom personifikacji to Identification, poziom zabezpieczeń to EncryptAndSign, a wymagane jest wzajemne uwierzytelnianie. Klasa NegotiateStream skonstruuje nazwę SPN używaną do wzajemnego uwierzytelniania.

Używana ChannelBinding do rozszerzonej ochrony przekazanej do tej metody w parametrze binding zostanie pobrana przez aplikację z właściwości skojarzonej SslStreamz TransportContext programem .

Po pomyślnym uwierzytelnieniu 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. Sprawdź właściwość , IsMutuallyAuthenticated aby określić, czy wystąpiło wzajemne uwierzytelnianie.

Ta metoda jest przechowywana w zadaniu, które zwraca wszystkie wyjątki nieużytowe, które może zgłosić synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwracanym zadaniu, ten wyjątek zostanie zgłoszony podczas oczekiwania zadania. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. W przypadku przechowywanych wyjątków zobacz wyjątki zgłoszone przez AuthenticateAsClient(NetworkCredential, ChannelBinding, String)usługę .

Zobacz też

Dotyczy

AuthenticateAsClientAsync(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel)

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

Wywoływane przez klientów w celu uwierzytelnienia klienta i opcjonalnie serwera w połączeniu klienta-serwera jako operacji asynchronicznej. Proces uwierzytelniania używa określonych poświadczeń i opcji uwierzytelniania.

public:
 virtual System::Threading::Tasks::Task ^ AuthenticateAsClientAsync(System::Net::NetworkCredential ^ credential, System::String ^ targetName, System::Net::Security::ProtectionLevel requiredProtectionLevel, System::Security::Principal::TokenImpersonationLevel allowedImpersonationLevel);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (System.Net.NetworkCredential credential, string targetName, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel allowedImpersonationLevel);
abstract member AuthenticateAsClientAsync : System.Net.NetworkCredential * string * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel -> System.Threading.Tasks.Task
override this.AuthenticateAsClientAsync : System.Net.NetworkCredential * string * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel -> System.Threading.Tasks.Task
Public Overridable Function AuthenticateAsClientAsync (credential As NetworkCredential, targetName As String, requiredProtectionLevel As ProtectionLevel, allowedImpersonationLevel As TokenImpersonationLevel) As Task

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.

requiredProtectionLevel
ProtectionLevel

Jedna z ProtectionLevel wartości wskazująca usługi zabezpieczeń 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.

Zwraca

Obiekt zadania reprezentujący operację asynchroniczną.

Wyjątki

allowedImpersonationLevel jest nieprawidłową wartością.

targetName ma wartość null.

Uwierzytelnianie nie powiodło się. Tego obiektu można użyć do ponawiania próby 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

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 szyfrowane i podpisane, określ EncryptAndSign wartość. Pomyślne uwierzytelnienie nie gwarantuje udzielenia żądanego ProtectionLevel uwierzytelniania. Należy sprawdzić IsEncrypted właściwości i IsSigned , aby określić, jakie usługi zabezpieczeń są używane przez usługę NegotiateStream.

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.

Ta metoda przechowuje w zadaniu wszystkie wyjątki inne niż użycie, które mogą zgłaszać synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwróconym zadaniu, ten wyjątek zostanie zgłoszony po oczekiwaniu na zadanie. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. Aby uzyskać informacje o przechowywanych wyjątkach, zobacz wyjątki zgłaszane przez AuthenticateAsClient(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel)usługę .

Dotyczy

AuthenticateAsClientAsync(NetworkCredential, ChannelBinding, String, ProtectionLevel, TokenImpersonationLevel)

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

Wywoływane przez klientów w celu uwierzytelnienia klienta i opcjonalnie serwera w połączeniu klienta-serwera jako operacji asynchronicznej. Proces uwierzytelniania używa określonych poświadczeń, opcji uwierzytelniania i powiązania kanału.

public:
 virtual System::Threading::Tasks::Task ^ AuthenticateAsClientAsync(System::Net::NetworkCredential ^ credential, System::Security::Authentication::ExtendedProtection::ChannelBinding ^ binding, System::String ^ targetName, System::Net::Security::ProtectionLevel requiredProtectionLevel, System::Security::Principal::TokenImpersonationLevel allowedImpersonationLevel);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding? binding, string targetName, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel allowedImpersonationLevel);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding binding, string targetName, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel allowedImpersonationLevel);
abstract member AuthenticateAsClientAsync : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ChannelBinding * string * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel -> System.Threading.Tasks.Task
override this.AuthenticateAsClientAsync : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ChannelBinding * string * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel -> System.Threading.Tasks.Task
Public Overridable Function AuthenticateAsClientAsync (credential As NetworkCredential, binding As ChannelBinding, targetName As String, requiredProtectionLevel As ProtectionLevel, allowedImpersonationLevel As TokenImpersonationLevel) As Task

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.

requiredProtectionLevel
ProtectionLevel

Jedna z ProtectionLevel wartości wskazująca usługi zabezpieczeń 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.

Zwraca

Obiekt zadania reprezentujący operację asynchroniczną.

Wyjątki

targetName to null.

-lub-

credential to null.

allowedImpersonationLevel jest nieprawidłową wartością.

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

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 szyfrowane i podpisane, określ EncryptAndSign wartość. Pomyślne uwierzytelnienie nie gwarantuje udzielenia żądanego ProtectionLevel uwierzytelniania. Należy sprawdzić IsEncrypted właściwości i IsSigned , aby określić, jakie usługi zabezpieczeń są używane przez usługę NegotiateStream.

Używana ChannelBinding do rozszerzonej ochrony przekazywanej do tej metody w parametrze binding zostanie pobrana przez aplikację z właściwości skojarzonej z TransportContext programem SslStream.

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.

Ta metoda przechowuje w zadaniu wszystkie wyjątki inne niż użycie, które mogą zgłaszać synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwróconym zadaniu, ten wyjątek zostanie zgłoszony po oczekiwaniu na zadanie. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. Aby uzyskać informacje o przechowywanych wyjątkach, zobacz wyjątki zgłaszane przez AuthenticateAsClient(NetworkCredential, ChannelBinding, String, ProtectionLevel, TokenImpersonationLevel)usługę .

Zobacz też

Dotyczy