NegotiateStream.AuthenticateAsClientAsync Metod

Definition

Anropas av klienter för att autentisera klienten, och eventuellt servern, i en klient-server-anslutning som en asynkron åtgärd.

Överlagringar

Name Description
AuthenticateAsClientAsync()

Anropas av klienter för att autentisera klienten, och eventuellt servern, i en klient-server-anslutning som en asynkron åtgärd.

AuthenticateAsClientAsync(NetworkCredential, String)

Anropas av klienter för att autentisera klienten, och eventuellt servern, i en klient-server-anslutning som en asynkron åtgärd. Autentiseringsprocessen använder den angivna klientautentiseringsuppgiften.

AuthenticateAsClientAsync(NetworkCredential, ChannelBinding, String)

Anropas av klienter för att autentisera klienten, och eventuellt servern, i en klient-server-anslutning som en asynkron åtgärd. Autentiseringsprocessen använder den angivna klientautentiseringsuppgiften och kanalbindningen.

AuthenticateAsClientAsync(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel)

Anropas av klienter för att autentisera klienten, och eventuellt servern, i en klient-server-anslutning som en asynkron åtgärd. Autentiseringsprocessen använder de angivna autentiseringsalternativen och autentiseringsalternativen.

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

Anropas av klienter för att autentisera klienten, och eventuellt servern, i en klient-server-anslutning som en asynkron åtgärd. Autentiseringsprocessen använder de angivna autentiseringsalternativen, autentiseringsalternativen och kanalbindningen.

AuthenticateAsClientAsync()

Anropas av klienter för att autentisera klienten, och eventuellt servern, i en klient-server-anslutning som en asynkron åtgärd.

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

Returer

Aktivitetsobjektet som representerar den asynkrona åtgärden.

Undantag

Autentiseringen misslyckades. Du kan använda det här objektet för att försöka autentiseringen igen.

Autentiseringen misslyckades. Du kan använda det här objektet för att försöka autentiseringen igen.

Det här objektet har stängts.

Autentiseringen har redan inträffat.

-eller-

Den här strömmen användes tidigare för att försöka autentisering som server. Du kan inte använda strömmen för att försöka autentisering igen som klient.

Kommentarer

Autentiseringen använder klientens DefaultCredentials. Inget SPN (Service Principal Name) har angetts för servern. Personifieringsnivån är Identification, säkerhetsnivån är EncryptAndSignoch ömsesidig autentisering begärs. Klassen NegotiateStream konstruerar det SPN som används för ömsesidig autentisering.

När autentiseringen IsEncrypted lyckas måste du kontrollera egenskaperna och IsSigned för att avgöra vilka säkerhetstjänster som används av NegotiateStream. Kontrollera egenskapen IsMutuallyAuthenticated för att avgöra om ömsesidig autentisering har inträffat.

Om autentiseringen misslyckas får du en AuthenticationException eller en InvalidCredentialException. I det här fallet kan du försöka autentiseringen igen med en annan autentiseringsuppgift.

Den här metoden lagrar i aktiviteten som returnerar alla undantag som inte används som metodens synkrona motsvarighet kan utlösa. Om ett undantag lagras i den returnerade aktiviteten utlöses undantaget när aktiviteten väntar. Användningsfel, till exempel ArgumentException, genereras fortfarande synkront. De lagrade undantagen finns i undantagen som genereras av AuthenticateAsClient().

Gäller för

AuthenticateAsClientAsync(NetworkCredential, String)

Anropas av klienter för att autentisera klienten, och eventuellt servern, i en klient-server-anslutning som en asynkron åtgärd. Autentiseringsprocessen använder den angivna klientautentiseringsuppgiften.

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

Parametrar

credential
NetworkCredential

Det NetworkCredential som används för att fastställa klientens identitet.

targetName
String

Tjänstens huvudnamn (SPN) som unikt identifierar servern som ska autentiseras.

Returer

Aktivitetsobjektet som representerar den asynkrona åtgärden.

Undantag

Autentiseringen misslyckades. Du kan använda det här objektet för att försöka autentiseringen igen.

Autentiseringen misslyckades. Du kan använda det här objektet för att försöka autentiseringen igen.

Det här objektet har stängts.

Autentiseringen har redan inträffat.

-eller-

Den här strömmen användes tidigare för att försöka autentisering som server. Du kan inte använda strömmen för att försöka autentisering igen som klient.

targetName är null.

Kommentarer

Personifieringsnivån är Identification, säkerhetsnivån är EncryptAndSignoch ömsesidig autentisering begärs. Klassen NegotiateStream konstruerar det SPN som används för ömsesidig autentisering.

När autentiseringen IsEncrypted lyckas måste du kontrollera egenskaperna och IsSigned för att avgöra vilka säkerhetstjänster som används av NegotiateStream. Kontrollera egenskapen IsMutuallyAuthenticated för att avgöra om ömsesidig autentisering har inträffat.

Den här metoden lagrar i aktiviteten som returnerar alla undantag som inte används som metodens synkrona motsvarighet kan utlösa. Om ett undantag lagras i den returnerade aktiviteten utlöses undantaget när aktiviteten väntar. Användningsfel, till exempel ArgumentException, genereras fortfarande synkront. De lagrade undantagen finns i undantagen som genereras av AuthenticateAsClient(NetworkCredential, String).

Gäller för

AuthenticateAsClientAsync(NetworkCredential, ChannelBinding, String)

Anropas av klienter för att autentisera klienten, och eventuellt servern, i en klient-server-anslutning som en asynkron åtgärd. Autentiseringsprocessen använder den angivna klientautentiseringsuppgiften och kanalbindningen.

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

Parametrar

credential
NetworkCredential

Det NetworkCredential som används för att fastställa klientens identitet.

binding
ChannelBinding

Det ChannelBinding som används för utökat skydd.

targetName
String

Tjänstens huvudnamn (SPN) som unikt identifierar servern som ska autentiseras.

Returer

Aktivitetsobjektet som representerar den asynkrona åtgärden.

Undantag

targetName är null.

-eller-

credential är null.

Autentiseringen misslyckades. Du kan använda det här objektet för att försöka autentiseringen igen.

Autentiseringen misslyckades. Du kan använda det här objektet för att försöka autentiseringen igen.

Autentiseringen har redan inträffat.

-eller-

Den här strömmen användes tidigare för att försöka autentisering som server. Du kan inte använda strömmen för att försöka autentisering igen som klient.

Det här objektet har stängts.

Kommentarer

Personifieringsnivån är Identification, säkerhetsnivån är EncryptAndSignoch ömsesidig autentisering begärs. Klassen NegotiateStream konstruerar det SPN som används för ömsesidig autentisering.

Den ChannelBinding som används för utökat skydd som skickas till den här metoden i parametern binding hämtas av ett program från TransportContext egenskapen på den associerade SslStream.

När autentiseringen IsEncrypted lyckas måste du kontrollera egenskaperna och IsSigned för att avgöra vilka säkerhetstjänster som används av NegotiateStream. Kontrollera egenskapen IsMutuallyAuthenticated för att avgöra om ömsesidig autentisering har inträffat.

Den här metoden lagrar i aktiviteten som returnerar alla undantag som inte används som metodens synkrona motsvarighet kan utlösa. Om ett undantag lagras i den returnerade aktiviteten utlöses undantaget när aktiviteten väntar. Användningsfel, till exempel ArgumentException, genereras fortfarande synkront. De lagrade undantagen finns i undantagen som genereras av AuthenticateAsClient(NetworkCredential, ChannelBinding, String).

Se även

Gäller för

AuthenticateAsClientAsync(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel)

Anropas av klienter för att autentisera klienten, och eventuellt servern, i en klient-server-anslutning som en asynkron åtgärd. Autentiseringsprocessen använder de angivna autentiseringsalternativen och autentiseringsalternativen.

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

Parametrar

credential
NetworkCredential

Det NetworkCredential som används för att fastställa klientens identitet.

targetName
String

Tjänstens huvudnamn (SPN) som unikt identifierar servern som ska autentiseras.

requiredProtectionLevel
ProtectionLevel

Ett av ProtectionLevel värdena som anger säkerhetstjänsterna för dataströmmen.

allowedImpersonationLevel
TokenImpersonationLevel

Ett av TokenImpersonationLevel värdena som anger hur servern kan använda klientens autentiseringsuppgifter för att komma åt resurser.

Returer

Aktivitetsobjektet som representerar den asynkrona åtgärden.

Undantag

allowedImpersonationLevel är inte ett giltigt värde.

targetName är null.

Autentiseringen misslyckades. Du kan använda det här objektet för att försöka autentiseringen igen.

Autentiseringen misslyckades. Du kan använda det här objektet för att försöka autentiseringen igen.

Det här objektet har stängts.

Autentiseringen har redan inträffat.

-eller-

Den här strömmen användes tidigare för att försöka autentisering som server. Du kan inte använda strömmen för att försöka autentisering igen som klient.

Kommentarer

Använd parametern requiredProtectionLevel för att begära säkerhetstjänster för data som överförs med hjälp av den autentiserade dataströmmen. Om du till exempel vill att data ska krypteras och signeras anger du EncryptAndSign värdet. Lyckad autentisering garanterar inte att den begärda ProtectionLevel har beviljats. Du måste kontrollera IsEncrypted egenskaperna och IsSigned för att avgöra vilka säkerhetstjänster som används av NegotiateStream.

Om autentiseringen misslyckas får du en AuthenticationException eller en InvalidCredentialException. I det här fallet kan du försöka autentiseringen igen med en annan autentiseringsuppgift.

Den här metoden lagrar i aktiviteten som returnerar alla undantag som inte används som metodens synkrona motsvarighet kan utlösa. Om ett undantag lagras i den returnerade aktiviteten utlöses undantaget när aktiviteten väntar. Användningsfel, till exempel ArgumentException, genereras fortfarande synkront. De lagrade undantagen finns i undantagen som genereras av AuthenticateAsClient(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel).

Gäller för

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

Anropas av klienter för att autentisera klienten, och eventuellt servern, i en klient-server-anslutning som en asynkron åtgärd. Autentiseringsprocessen använder de angivna autentiseringsalternativen, autentiseringsalternativen och kanalbindningen.

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

Parametrar

credential
NetworkCredential

Det NetworkCredential som används för att fastställa klientens identitet.

binding
ChannelBinding

Det ChannelBinding som används för utökat skydd.

targetName
String

Tjänstens huvudnamn (SPN) som unikt identifierar servern som ska autentiseras.

requiredProtectionLevel
ProtectionLevel

Ett av ProtectionLevel värdena som anger säkerhetstjänsterna för dataströmmen.

allowedImpersonationLevel
TokenImpersonationLevel

Ett av TokenImpersonationLevel värdena som anger hur servern kan använda klientens autentiseringsuppgifter för att komma åt resurser.

Returer

Aktivitetsobjektet som representerar den asynkrona åtgärden.

Undantag

targetName är null.

-eller-

credential är null.

allowedImpersonationLevel är inte ett giltigt värde.

Autentiseringen misslyckades. Du kan använda det här objektet för att försöka autentiseringen igen.

Autentiseringen misslyckades. Du kan använda det här objektet för att försöka autentiseringen igen.

Autentiseringen har redan inträffat.

-eller-

Den här strömmen användes tidigare för att försöka autentisering som server. Du kan inte använda strömmen för att försöka autentisering igen som klient.

Det här objektet har stängts.

Kommentarer

Använd parametern requiredProtectionLevel för att begära säkerhetstjänster för data som överförs med hjälp av den autentiserade dataströmmen. Om du till exempel vill att data ska krypteras och signeras anger du EncryptAndSign värdet. Lyckad autentisering garanterar inte att den begärda ProtectionLevel har beviljats. Du måste kontrollera IsEncrypted egenskaperna och IsSigned för att avgöra vilka säkerhetstjänster som används av NegotiateStream.

Den ChannelBinding som används för utökat skydd som skickas till den här metoden i parametern binding hämtas av ett program från TransportContext egenskapen på den associerade SslStream.

Om autentiseringen misslyckas får du en AuthenticationException eller en InvalidCredentialException. I det här fallet kan du försöka autentiseringen igen med en annan autentiseringsuppgift.

Den här metoden lagrar i aktiviteten som returnerar alla undantag som inte används som metodens synkrona motsvarighet kan utlösa. Om ett undantag lagras i den returnerade aktiviteten utlöses undantaget när aktiviteten väntar. Användningsfel, till exempel ArgumentException, genereras fortfarande synkront. De lagrade undantagen finns i undantagen som genereras av AuthenticateAsClient(NetworkCredential, ChannelBinding, String, ProtectionLevel, TokenImpersonationLevel).

Se även

Gäller för