NegotiateStream.BeginAuthenticateAsClient Método

Definición

Comienza una operación asincrónica para autenticar el lado cliente de una conexión de cliente-servidor.

Sobrecargas

Nombre Description
BeginAuthenticateAsClient(AsyncCallback, Object)

Llamado por los clientes para iniciar una operación asincrónica para autenticar al cliente y, opcionalmente, el servidor, en una conexión de cliente-servidor. Este método no se bloquea.

BeginAuthenticateAsClient(NetworkCredential, String, AsyncCallback, Object)

Llamado por los clientes para iniciar una operación asincrónica para autenticar al cliente y, opcionalmente, el servidor, en una conexión de cliente-servidor. El proceso de autenticación usa las credenciales especificadas. Este método no se bloquea.

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

Llamado por los clientes para iniciar una operación asincrónica para autenticar al cliente y, opcionalmente, el servidor, en una conexión de cliente-servidor. El proceso de autenticación usa las credenciales y el enlace de canal especificados. Este método no se bloquea.

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

Llamado por los clientes para iniciar una operación asincrónica para autenticar al cliente y, opcionalmente, el servidor, en una conexión de cliente-servidor. El proceso de autenticación usa las credenciales y las opciones de autenticación especificadas. Este método no se bloquea.

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

Llamado por los clientes para iniciar una operación asincrónica para autenticar al cliente y, opcionalmente, el servidor, en una conexión de cliente-servidor. El proceso de autenticación usa las credenciales, las opciones de autenticación y el enlace de canal especificados. Este método no se bloquea.

Comentarios

Las sobrecargas de este método no se bloquean mientras la autenticación está en curso. Para bloquear mientras espera a que se complete la autenticación, use uno de los AuthenticateAsClient métodos .

BeginAuthenticateAsClient(AsyncCallback, Object)

Source:
NegotiateStream.cs
Source:
NegotiateStream.cs
Source:
NegotiateStream.cs
Source:
NegotiateStream.cs
Source:
NegotiateStream.cs

Llamado por los clientes para iniciar una operación asincrónica para autenticar al cliente y, opcionalmente, el servidor, en una conexión de cliente-servidor. Este método no se bloquea.

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

Parámetros

asyncCallback
AsyncCallback

AsyncCallback Delegado que hace referencia al método que se va a invocar cuando se completa la autenticación.

asyncState
Object

Objeto definido por el usuario que contiene información sobre la operación. Este objeto se pasa al asyncCallback delegado cuando se completa la operación.

Devoluciones

Objeto IAsyncResult que indica el estado de la operación asincrónica.

Excepciones

Error de autenticación. Puede usar este objeto para reintentar la autenticación.

Error de autenticación. Puede usar este objeto para reintentar la autenticación.

Este objeto se ha cerrado.

Ya se ha producido la autenticación.

O bien

Esta secuencia se usó anteriormente para intentar la autenticación como servidor. No puede usar la secuencia para reintentar la autenticación como cliente.

Ejemplos

En el ejemplo siguiente se muestra cómo llamar a este método para iniciar una autenticación asincrónica para el cliente.

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

Comentarios

La autenticación usa el objeto del DefaultCredentialscliente. No se especifica ningún nombre de entidad de seguridad de servicio (SPN) para el servidor. El nivel de suplantación es Identificationy el nivel de seguridad es EncryptAndSign. La NegotiateStream clase construirá el SPN usado para la autenticación mutua.

Este método es asincrónico y no se bloquea mientras se completa la operación. Para bloquear hasta que se complete la operación, use una de las sobrecargas del AuthenticateAsClient método .

La operación de autenticación asincrónica debe completarse llamando al EndAuthenticateAsClient método . Normalmente, el delegado invoca el asyncCallback método . Para obtener información detallada sobre el uso del modelo de programación asincrónica, vea Llamar a métodos sincrónicos de forma asincrónica.

Si se produce un error en la autenticación, recibirá o AuthenticationException .InvalidCredentialException En este caso, puede volver a intentar la autenticación con una credencial diferente.

Se aplica a

BeginAuthenticateAsClient(NetworkCredential, String, AsyncCallback, Object)

Source:
NegotiateStream.cs
Source:
NegotiateStream.cs
Source:
NegotiateStream.cs
Source:
NegotiateStream.cs
Source:
NegotiateStream.cs

Llamado por los clientes para iniciar una operación asincrónica para autenticar al cliente y, opcionalmente, el servidor, en una conexión de cliente-servidor. El proceso de autenticación usa las credenciales especificadas. Este método no se bloquea.

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

Parámetros

credential
NetworkCredential

NetworkCredential que se usa para establecer la identidad del cliente.

targetName
String

Nombre de entidad de seguridad de servicio (SPN) que identifica de forma única el servidor que se va a autenticar.

asyncCallback
AsyncCallback

AsyncCallback Delegado que hace referencia al método que se va a invocar cuando se completa la autenticación.

asyncState
Object

Objeto definido por el usuario que contiene información sobre la operación de escritura. Este objeto se pasa al asyncCallback delegado cuando se completa la operación.

Devoluciones

Objeto IAsyncResult que indica el estado de la operación asincrónica.

Excepciones

credential es null.

O bien

targetName es null.

Error de autenticación. Puede usar este objeto para reintentar la autenticación.

Error de autenticación. Puede usar este objeto para reintentar la autenticación.

Este objeto se ha cerrado.

Ya se ha producido la autenticación.

O bien

Esta secuencia se usó anteriormente para intentar la autenticación como servidor. No puede usar la secuencia para reintentar la autenticación como cliente.

Comentarios

Este método es asincrónico y no se bloquea mientras se completa la operación. Para bloquear hasta que se complete la operación, use una de las sobrecargas del AuthenticateAsClient método .

La operación de autenticación asincrónica debe completarse llamando al EndAuthenticateAsClient método . Normalmente, el delegado invoca el asyncCallback método . Para obtener información detallada sobre el uso del modelo de programación asincrónica, vea Llamar a métodos sincrónicos de forma asincrónica.

Si se produce un error en la autenticación, recibirá o AuthenticationException .InvalidCredentialException En este caso, puede volver a intentar la autenticación con una credencial diferente.

Se aplica a

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

Source:
NegotiateStream.cs
Source:
NegotiateStream.cs
Source:
NegotiateStream.cs
Source:
NegotiateStream.cs
Source:
NegotiateStream.cs

Llamado por los clientes para iniciar una operación asincrónica para autenticar al cliente y, opcionalmente, el servidor, en una conexión de cliente-servidor. El proceso de autenticación usa las credenciales y el enlace de canal especificados. Este método no se bloquea.

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

Parámetros

credential
NetworkCredential

NetworkCredential que se usa para establecer la identidad del cliente.

binding
ChannelBinding

ChannelBinding que se usa para la protección ampliada.

targetName
String

Nombre de entidad de seguridad de servicio (SPN) que identifica de forma única el servidor que se va a autenticar.

asyncCallback
AsyncCallback

AsyncCallback Delegado que hace referencia al método que se va a invocar cuando se completa la autenticación.

asyncState
Object

Objeto definido por el usuario que contiene información sobre la operación de escritura. Este objeto se pasa al asyncCallback delegado cuando se completa la operación.

Devoluciones

Objeto IAsyncResult que indica el estado de la operación asincrónica.

Excepciones

credential es null.

O bien

targetName es null.

Error de autenticación. Puede usar este objeto para reintentar la autenticación.

Error de autenticación. Puede usar este objeto para reintentar la autenticación.

Ya se ha producido la autenticación.

O bien

Esta secuencia se usó anteriormente para intentar la autenticación como servidor. No puede usar la secuencia para reintentar la autenticación como cliente.

Este objeto se ha cerrado.

Comentarios

Este método es asincrónico y no se bloquea mientras se completa la operación. Para bloquear hasta que se complete la operación, use una de las sobrecargas del AuthenticateAsClient método .

La operación de autenticación asincrónica debe completarse llamando al EndAuthenticateAsClient método . Normalmente, el delegado invoca el asyncCallback método . Para obtener información detallada sobre el uso del modelo de programación asincrónica, vea Llamar a métodos sincrónicos de forma asincrónica.

Si se produce un error en la autenticación, recibirá o AuthenticationException .InvalidCredentialException En este caso, puede volver a intentar la autenticación con una credencial diferente.

Consulte también

Se aplica a

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

Source:
NegotiateStream.cs
Source:
NegotiateStream.cs
Source:
NegotiateStream.cs
Source:
NegotiateStream.cs
Source:
NegotiateStream.cs

Llamado por los clientes para iniciar una operación asincrónica para autenticar al cliente y, opcionalmente, el servidor, en una conexión de cliente-servidor. El proceso de autenticación usa las credenciales y las opciones de autenticación especificadas. Este método no se bloquea.

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

Parámetros

credential
NetworkCredential

NetworkCredential que se usa para establecer la identidad del cliente.

targetName
String

Nombre de entidad de seguridad de servicio (SPN) que identifica de forma única el servidor que se va a autenticar.

requiredProtectionLevel
ProtectionLevel

Uno de los ProtectionLevel valores, que indica los servicios de seguridad de la secuencia.

allowedImpersonationLevel
TokenImpersonationLevel

Uno de los TokenImpersonationLevel valores, que indica cómo el servidor puede usar las credenciales del cliente para acceder a los recursos.

asyncCallback
AsyncCallback

AsyncCallback Delegado que hace referencia al método que se va a invocar cuando se completa la autenticación.

asyncState
Object

Objeto definido por el usuario que contiene información sobre la operación de escritura. Este objeto se pasa al asyncCallback delegado cuando se completa la operación.

Devoluciones

Objeto IAsyncResult que indica el estado de la operación asincrónica.

Excepciones

credential es null.

O bien

targetName es null.

Error de autenticación. Puede usar este objeto para reintentar la autenticación.

Error de autenticación. Puede usar este objeto para reintentar la autenticación.

Este objeto se ha cerrado.

Ya se ha producido la autenticación.

O bien

Esta secuencia se usó anteriormente para intentar la autenticación como servidor. No puede usar la secuencia para reintentar la autenticación como cliente.

Comentarios

Use el requiredProtectionLevel parámetro para solicitar servicios de seguridad para los datos transmitidos mediante la secuencia autenticada. Por ejemplo, para que los datos se cifren y firmen, especifique el EncryptAndSign valor . La autenticación correcta no garantiza que se haya concedido la solicitud ProtectionLevel . Debe comprobar las IsEncrypted propiedades y IsSigned para determinar qué servicios de seguridad usan .NegotiateStream

Este método es asincrónico y no se bloquea mientras se completa la operación. Para bloquear hasta que se complete la operación, use una de las sobrecargas del AuthenticateAsClient método .

La operación de autenticación asincrónica debe completarse llamando al EndAuthenticateAsClient método . Normalmente, el delegado invoca el asyncCallback método . Para obtener información detallada sobre el uso del modelo de programación asincrónica, vea Llamar a métodos sincrónicos de forma asincrónica.

Si se produce un error en la autenticación, recibirá o AuthenticationException .InvalidCredentialException En este caso, puede volver a intentar la autenticación con una credencial diferente.

Se aplica a

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

Source:
NegotiateStream.cs
Source:
NegotiateStream.cs
Source:
NegotiateStream.cs
Source:
NegotiateStream.cs
Source:
NegotiateStream.cs

Llamado por los clientes para iniciar una operación asincrónica para autenticar al cliente y, opcionalmente, el servidor, en una conexión de cliente-servidor. El proceso de autenticación usa las credenciales, las opciones de autenticación y el enlace de canal especificados. Este método no se bloquea.

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

Parámetros

credential
NetworkCredential

NetworkCredential que se usa para establecer la identidad del cliente.

binding
ChannelBinding

ChannelBinding que se usa para la protección ampliada.

targetName
String

Nombre de entidad de seguridad de servicio (SPN) que identifica de forma única el servidor que se va a autenticar.

requiredProtectionLevel
ProtectionLevel

Uno de los ProtectionLevel valores, que indica los servicios de seguridad de la secuencia.

allowedImpersonationLevel
TokenImpersonationLevel

Uno de los TokenImpersonationLevel valores, que indica cómo el servidor puede usar las credenciales del cliente para acceder a los recursos.

asyncCallback
AsyncCallback

AsyncCallback Delegado que hace referencia al método que se va a invocar cuando se completa la autenticación.

asyncState
Object

Objeto definido por el usuario que contiene información sobre la operación de escritura. Este objeto se pasa al asyncCallback delegado cuando se completa la operación.

Devoluciones

Objeto IAsyncResult que indica el estado de la operación asincrónica.

Excepciones

credential es null.

O bien

targetName es null.

Error de autenticación. Puede usar este objeto para reintentar la autenticación.

Error de autenticación. Puede usar este objeto para reintentar la autenticación.

Ya se ha producido la autenticación.

O bien

Esta secuencia se usó anteriormente para intentar la autenticación como servidor. No puede usar la secuencia para reintentar la autenticación como cliente.

Este objeto se ha cerrado.

Comentarios

Use el requiredProtectionLevel parámetro para solicitar servicios de seguridad para los datos transmitidos mediante la secuencia autenticada. Por ejemplo, para que los datos se cifren y firmen, especifique el EncryptAndSign valor . La autenticación correcta no garantiza que se haya concedido la solicitud ProtectionLevel . Debe comprobar las IsEncrypted propiedades y IsSigned para determinar qué servicios de seguridad usan .NegotiateStream

Este método es asincrónico y no se bloquea mientras se completa la operación. Para bloquear hasta que se complete la operación, use una de las sobrecargas del AuthenticateAsClient método .

La operación de autenticación asincrónica debe completarse llamando al EndAuthenticateAsClient método . Normalmente, el delegado invoca el asyncCallback método . Para obtener información detallada sobre el uso del modelo de programación asincrónica, vea Llamar a métodos sincrónicos de forma asincrónica.

Si se produce un error en la autenticación, recibirá o AuthenticationException .InvalidCredentialException En este caso, puede volver a intentar la autenticación con una credencial diferente.

Consulte también

Se aplica a