NegotiateStream.BeginAuthenticateAsClient Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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
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
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
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.