NegotiateStream.AuthenticateAsClientAsync Método

Definição

Chamada pelos clientes para autenticar o cliente, e opcionalmente o servidor, numa ligação cliente-servidor como uma operação assíncrona.

Sobrecargas

Name Description
AuthenticateAsClientAsync()

Chamada pelos clientes para autenticar o cliente, e opcionalmente o servidor, numa ligação cliente-servidor como uma operação assíncrona.

AuthenticateAsClientAsync(NetworkCredential, String)

Chamada pelos clientes para autenticar o cliente, e opcionalmente o servidor, numa ligação cliente-servidor como uma operação assíncrona. O processo de autenticação utiliza a credencial do cliente especificada.

AuthenticateAsClientAsync(NetworkCredential, ChannelBinding, String)

Chamada pelos clientes para autenticar o cliente, e opcionalmente o servidor, numa ligação cliente-servidor como uma operação assíncrona. O processo de autenticação utiliza a credencial do cliente especificada e a ligação ao canal.

AuthenticateAsClientAsync(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel)

Chamada pelos clientes para autenticar o cliente, e opcionalmente o servidor, numa ligação cliente-servidor como uma operação assíncrona. O processo de autenticação utiliza as credenciais e opções de autenticação especificadas.

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

Chamada pelos clientes para autenticar o cliente, e opcionalmente o servidor, numa ligação cliente-servidor como uma operação assíncrona. O processo de autenticação utiliza a credencial especificada, as opções de autenticação e a ligação de canal.

AuthenticateAsClientAsync()

Chamada pelos clientes para autenticar o cliente, e opcionalmente o servidor, numa ligação cliente-servidor como uma operação assíncrona.

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

Devoluções

O objeto tarefa que representa a operação assíncrona.

Exceções

A autenticação falhou. Pode usar este objeto para tentar novamente a autenticação.

A autenticação falhou. Pode usar este objeto para tentar novamente a autenticação.

Este objeto foi encerrado.

A autenticação já ocorreu.

-ou-

Este fluxo era usado anteriormente para tentar autenticação como servidor. Não podes usar o stream para tentar autenticação novamente como cliente.

Observações

A autenticação utiliza o DefaultCredentials. Não é especificado nenhum Nome Principal de Serviço (SPN) para o servidor. O nível de personificação é Identification, o nível de segurança é EncryptAndSign, e solicita-se autenticação mútua. A NegotiateStream classe irá construir o SPN usado para autenticação mútua.

Quando a autenticação for bem-sucedida, deve verificar as IsEncrypted propriedades e IsSigned para determinar que serviços de segurança são usados pelo NegotiateStream. Verifique a IsMutuallyAuthenticated propriedade para determinar se ocorreu autenticação mútua.

Se a autenticação falhar, recebe um AuthenticationException ou um InvalidCredentialException. Neste caso, pode tentar a autenticação novamente com uma credencial diferente.

Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por AuthenticateAsClient().

Aplica-se a

AuthenticateAsClientAsync(NetworkCredential, String)

Chamada pelos clientes para autenticar o cliente, e opcionalmente o servidor, numa ligação cliente-servidor como uma operação assíncrona. O processo de autenticação utiliza a credencial do cliente especificada.

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

Parâmetros

credential
NetworkCredential

O NetworkCredential que é usado para estabelecer a identidade do cliente.

targetName
String

O Nome Principal do Serviço (SPN) que identifica de forma única o servidor a autenticar.

Devoluções

O objeto tarefa que representa a operação assíncrona.

Exceções

A autenticação falhou. Pode usar este objeto para tentar novamente a autenticação.

A autenticação falhou. Pode usar este objeto para tentar novamente a autenticação.

Este objeto foi encerrado.

A autenticação já ocorreu.

-ou-

Este fluxo era usado anteriormente para tentar autenticação como servidor. Não podes usar o stream para tentar autenticação novamente como cliente.

targetName é null.

Observações

O nível de personificação é Identification, o nível de segurança é EncryptAndSign, e solicita-se autenticação mútua. A NegotiateStream classe irá construir o SPN usado para autenticação mútua.

Quando a autenticação for bem-sucedida, deve verificar as IsEncrypted propriedades e IsSigned para determinar que serviços de segurança são usados pelo NegotiateStream. Verifique a IsMutuallyAuthenticated propriedade para determinar se ocorreu autenticação mútua.

Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por AuthenticateAsClient(NetworkCredential, String).

Aplica-se a

AuthenticateAsClientAsync(NetworkCredential, ChannelBinding, String)

Chamada pelos clientes para autenticar o cliente, e opcionalmente o servidor, numa ligação cliente-servidor como uma operação assíncrona. O processo de autenticação utiliza a credencial do cliente especificada e a ligação ao canal.

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

Parâmetros

credential
NetworkCredential

O NetworkCredential que é usado para estabelecer a identidade do cliente.

binding
ChannelBinding

O ChannelBinding que é usado para proteção prolongada.

targetName
String

O Nome Principal do Serviço (SPN) que identifica de forma única o servidor a autenticar.

Devoluções

O objeto tarefa que representa a operação assíncrona.

Exceções

targetName é null.

-ou-

credential é null.

A autenticação falhou. Pode usar este objeto para tentar novamente a autenticação.

A autenticação falhou. Pode usar este objeto para tentar novamente a autenticação.

A autenticação já ocorreu.

-ou-

Este fluxo era usado anteriormente para tentar autenticação como servidor. Não podes usar o stream para tentar autenticação novamente como cliente.

Este objeto foi encerrado.

Observações

O nível de personificação é Identification, o nível de segurança é EncryptAndSign, e solicita-se autenticação mútua. A NegotiateStream classe irá construir o SPN usado para autenticação mútua.

O ChannelBinding usado para proteção estendida que é passado a este método no binding parâmetro seria recuperado por uma aplicação a partir da TransportContext propriedade na associada SslStream.

Quando a autenticação for bem-sucedida, deve verificar as IsEncrypted propriedades e IsSigned para determinar que serviços de segurança são usados pelo NegotiateStream. Verifique a IsMutuallyAuthenticated propriedade para determinar se ocorreu autenticação mútua.

Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por AuthenticateAsClient(NetworkCredential, ChannelBinding, String).

Ver também

Aplica-se a

AuthenticateAsClientAsync(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel)

Chamada pelos clientes para autenticar o cliente, e opcionalmente o servidor, numa ligação cliente-servidor como uma operação assíncrona. O processo de autenticação utiliza as credenciais e opções de autenticação especificadas.

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

Parâmetros

credential
NetworkCredential

O NetworkCredential que é usado para estabelecer a identidade do cliente.

targetName
String

O Nome Principal do Serviço (SPN) que identifica de forma única o servidor a autenticar.

requiredProtectionLevel
ProtectionLevel

Um dos ProtectionLevel valores, indicando os serviços de segurança do fluxo.

allowedImpersonationLevel
TokenImpersonationLevel

Um dos TokenImpersonationLevel valores, indica como o servidor pode usar as credenciais do cliente para aceder a recursos.

Devoluções

O objeto tarefa que representa a operação assíncrona.

Exceções

allowedImpersonationLevel não é um valor válido.

targetName é null.

A autenticação falhou. Pode usar este objeto para tentar novamente a autenticação.

A autenticação falhou. Pode usar este objeto para tentar novamente a autenticação.

Este objeto foi encerrado.

A autenticação já ocorreu.

-ou-

Este fluxo era usado anteriormente para tentar autenticação como servidor. Não podes usar o stream para tentar autenticação novamente como cliente.

Observações

Use o requiredProtectionLevel parâmetro para solicitar serviços de segurança para os dados transmitidos através do fluxo autenticado. Por exemplo, para que os dados sejam encriptados e assinados, especifique o EncryptAndSign valor. A autenticação bem-sucedida não garante que o pedido ProtectionLevel tenha sido concedido. Deve verificar as IsEncrypted e IsSigned propriedades para determinar que serviços de segurança são utilizados pelo NegotiateStream.

Se a autenticação falhar, recebe um AuthenticationException ou um InvalidCredentialException. Neste caso, pode tentar a autenticação novamente com uma credencial diferente.

Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por AuthenticateAsClient(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel).

Aplica-se a

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

Chamada pelos clientes para autenticar o cliente, e opcionalmente o servidor, numa ligação cliente-servidor como uma operação assíncrona. O processo de autenticação utiliza a credencial especificada, as opções de autenticação e a ligação de canal.

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

Parâmetros

credential
NetworkCredential

O NetworkCredential que é usado para estabelecer a identidade do cliente.

binding
ChannelBinding

O ChannelBinding que é usado para proteção prolongada.

targetName
String

O Nome Principal do Serviço (SPN) que identifica de forma única o servidor a autenticar.

requiredProtectionLevel
ProtectionLevel

Um dos ProtectionLevel valores, indicando os serviços de segurança do fluxo.

allowedImpersonationLevel
TokenImpersonationLevel

Um dos TokenImpersonationLevel valores, indica como o servidor pode usar as credenciais do cliente para aceder a recursos.

Devoluções

O objeto tarefa que representa a operação assíncrona.

Exceções

targetName é null.

-ou-

credential é null.

allowedImpersonationLevel não é um valor válido.

A autenticação falhou. Pode usar este objeto para tentar novamente a autenticação.

A autenticação falhou. Pode usar este objeto para tentar novamente a autenticação.

A autenticação já ocorreu.

-ou-

Este fluxo era usado anteriormente para tentar autenticação como servidor. Não podes usar o stream para tentar autenticação novamente como cliente.

Este objeto foi encerrado.

Observações

Use o requiredProtectionLevel parâmetro para solicitar serviços de segurança para os dados transmitidos através do fluxo autenticado. Por exemplo, para que os dados sejam encriptados e assinados, especifique o EncryptAndSign valor. A autenticação bem-sucedida não garante que o pedido ProtectionLevel tenha sido concedido. Deve verificar as IsEncrypted e IsSigned propriedades para determinar que serviços de segurança são utilizados pelo NegotiateStream.

O ChannelBinding usado para proteção estendida que é passado a este método no binding parâmetro seria recuperado por uma aplicação a partir da TransportContext propriedade na associada SslStream.

Se a autenticação falhar, recebe um AuthenticationException ou um InvalidCredentialException. Neste caso, pode tentar a autenticação novamente com uma credencial diferente.

Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por AuthenticateAsClient(NetworkCredential, ChannelBinding, String, ProtectionLevel, TokenImpersonationLevel).

Ver também

Aplica-se a