ClientFormsAuthenticationMembershipProvider.ValidateUser Método

Definición

Autentica a un usuario mediante las credenciales especificadas.

Sobrecargas

ValidateUser(String, String)

Autentica a un usuario mediante el nombre de usuario y la contraseña especificados.

ValidateUser(String, String, Boolean)

Autentica a un usuario mediante el nombre de usuario y la contraseña especificados, almacenando opcionalmente un hash de la contraseña en la caché de datos local.

ValidateUser(String, String, String)

Autentica a un usuario en el URI de servicio especificado mediante el nombre de usuario y la contraseña especificados.

ValidateUser(String, String)

Autentica a un usuario mediante el nombre de usuario y la contraseña especificados.

public:
 override bool ValidateUser(System::String ^ username, System::String ^ password);
public override bool ValidateUser (string username, string password);
override this.ValidateUser : string * string -> bool
Public Overrides Function ValidateUser (username As String, password As String) As Boolean

Parámetros

username
String

Nombre del usuario que se va a autenticar o Empty o null para recuperar las credenciales de la implementación de IClientFormsAuthenticationCredentialsProvider que esta aplicación está configurada para su uso.

password
String

Contraseña del usuario que se va a autenticar.

Devoluciones

true si el usuario se ha autenticado; de lo contrario, false.

Excepciones

El valor de la propiedad IsOffline es false y el proveedor de pertenencia no puede acceder al servicio de autenticación.

Ejemplos

En el código de ejemplo siguiente se muestra cómo usar este método para validar al usuario mediante una implementación de IClientFormsAuthenticationCredentialsProvider. Este ejemplo requiere que configure la aplicación para que use un proveedor de credenciales.

private bool ValidateUsingCredentialsProvider()
{
    bool isAuthorized = false;
    try
    {
        ClientFormsAuthenticationMembershipProvider authProvider =
            System.Web.Security.Membership.Provider as
            ClientFormsAuthenticationMembershipProvider;

        // Call ValidateUser with empty strings in order to display the 
        // login dialog box configured as a credentials provider.
        isAuthorized = authProvider.ValidateUser(String.Empty, String.Empty);
    }
    catch (System.Net.WebException)
    {
        MessageBox.Show("Unable to access the authentication service.",
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    }
    if (!isAuthorized)
    {
        MessageBox.Show("Unable to authenticate.", "Not logged in", 
            MessageBoxButtons.OK, MessageBoxIcon.Error);
        Application.Exit();
    }
    return isAuthorized;
}
Private Function ValidateUsingCredentialsProvider() As Boolean

    Dim isAuthorized As Boolean = False

    Try

        Dim authProvider As ClientFormsAuthenticationMembershipProvider = _
            CType(System.Web.Security.Membership.Provider,  _
            ClientFormsAuthenticationMembershipProvider)

        ' Call ValidateUser with empty strings in order to display the 
        ' login dialog box configured as a credentials provider.
        isAuthorized = authProvider.ValidateUser(String.Empty, String.Empty)

    Catch ex As System.Net.WebException

        MessageBox.Show("Unable to access the authentication service.", _
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)

    End Try

    If Not isAuthorized Then

        MessageBox.Show("Unable to authenticate.", "Not logged in", _
            MessageBoxButtons.OK, MessageBoxIcon.Error)
        Application.Exit()

    End If

    Return isAuthorized

End Function

Comentarios

Puede usar servicios de aplicaciones cliente para validar a los usuarios mediante la autenticación de formularios. Para validar a los usuarios, normalmente llamará al método staticMembership.ValidateUser, que llama internamente al método ClientFormsAuthenticationMembershipProvider.ValidateUser. Como alternativa, puede llamar directamente a este método, como se muestra en la sección Ejemplo.

La autenticación de formularios requiere que el usuario especifique sus credenciales mediante controles de inicio de sesión proporcionados por la aplicación. Puede recuperar las credenciales y pasarlas al método Membership.ValidateUser. También puede pasar cadenas vacías o null para usar un proveedor de credenciales.

Consulte también

Se aplica a

ValidateUser(String, String, Boolean)

Autentica a un usuario mediante el nombre de usuario y la contraseña especificados, almacenando opcionalmente un hash de la contraseña en la caché de datos local.

public:
 bool ValidateUser(System::String ^ username, System::String ^ password, bool rememberMe);
public bool ValidateUser (string username, string password, bool rememberMe);
override this.ValidateUser : string * string * bool -> bool
Public Function ValidateUser (username As String, password As String, rememberMe As Boolean) As Boolean

Parámetros

username
String

Nombre del usuario que se va a autenticar.

password
String

Contraseña del usuario que se va a autenticar.

rememberMe
Boolean

true almacenar un hash de la contraseña en la caché de datos local para su uso sin conexión y para la reautenticación automática cuando expire la cookie de autenticación de usuario; false deshabilitar el inicio de sesión sin conexión o requerir que los usuarios vuelvan a autenticarse cuando expire la cookie.

Devoluciones

true si el usuario se ha autenticado; de lo contrario, false.

Excepciones

El valor de la propiedad IsOffline es false y el proveedor de pertenencia no puede acceder al servicio de autenticación.

Ejemplos

En el código de ejemplo siguiente se muestra cómo usar este método para validar al usuario mediante controles de inicio de sesión en el código de la aplicación. En este ejemplo se requiere un control de TextBox denominado usernameTextBox, un control de TextBox denominado passwordTextBoxy un control de CheckBox denominado rememberMeCheckBox.

private bool ValidateUsingLoginControls()
{
    bool isAuthorized = false;
    try
    {
        ClientFormsAuthenticationMembershipProvider authProvider =
            System.Web.Security.Membership.Provider as
            ClientFormsAuthenticationMembershipProvider;

        // Call ValidateUser with credentials retrieved from login controls.
        isAuthorized = authProvider.ValidateUser(usernameTextBox.Text,
            passwordTextBox.Text, rememberMeCheckBox.Checked);
    }
    catch (System.Net.WebException)
    {
        MessageBox.Show("Unable to access the authentication service.",
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    }
    if (!isAuthorized)
    {
        MessageBox.Show("Unable to authenticate.", "Not logged in",
            MessageBoxButtons.OK, MessageBoxIcon.Error);
        Application.Exit();
    }
    return isAuthorized;
}
Private Function ValidateUsingLoginControls() As Boolean

    Dim isAuthorized As Boolean = False

    Try

        Dim authProvider As ClientFormsAuthenticationMembershipProvider = _
            CType(System.Web.Security.Membership.Provider,  _
            ClientFormsAuthenticationMembershipProvider)

        ' Call ValidateUser with credentials retrieved from login controls.
        isAuthorized = authProvider.ValidateUser(usernameTextBox.Text, _
            passwordTextBox.Text, rememberMeCheckBox.Checked)

    Catch ex As System.Net.WebException

        MessageBox.Show("Unable to access the authentication service.", _
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)

    End Try

    If Not isAuthorized Then

        MessageBox.Show("Unable to authenticate.", "Not logged in", _
            MessageBoxButtons.OK, MessageBoxIcon.Error)
        Application.Exit()

    End If

    Return isAuthorized

End Function

Comentarios

Puede usar servicios de aplicaciones cliente para validar a los usuarios mediante la autenticación de formularios. Para validar a los usuarios, normalmente llamará al método staticMembership.ValidateUser, que llama internamente al método ClientFormsAuthenticationMembershipProvider.ValidateUser(String, String). Como alternativa, puede llamar directamente al método ClientFormsAuthenticationMembershipProvider.ValidateUser. Puede llamar a esta sobrecarga para pasar un valor de rememberMe además de los valores de username y password.

Consulte también

Se aplica a

ValidateUser(String, String, String)

Autentica a un usuario en el URI de servicio especificado mediante el nombre de usuario y la contraseña especificados.

public:
 static bool ValidateUser(System::String ^ username, System::String ^ password, System::String ^ serviceUri);
public static bool ValidateUser (string username, string password, string serviceUri);
static member ValidateUser : string * string * string -> bool
Public Shared Function ValidateUser (username As String, password As String, serviceUri As String) As Boolean

Parámetros

username
String

Nombre del usuario que se va a autenticar.

password
String

Contraseña del usuario que se va a autenticar.

serviceUri
String

Identificador URI del servicio de autenticación que se va a usar.

Devoluciones

true si el usuario se ha autenticado; de lo contrario, false.

Excepciones

El valor de la propiedad IsOffline es false y el proveedor de pertenencia no puede acceder al servicio de autenticación.

Ejemplos

En el código de ejemplo siguiente se muestra cómo usar este método para validar al usuario a través de un servicio de autenticación en una ubicación especificada. Las credenciales de usuario se recuperan de los controles de inicio de sesión en el código de la aplicación. En este ejemplo se requiere un control TextBox denominado usernameTextBox y un control de TextBox denominado passwordTextBox.

private bool ValidateUsingServiceUri(String serviceUri)
{
    bool isAuthorized = false;
    try
    {
        // Call the static overload of ValidateUser. Specify credentials 
        // retrieved from login controls and the service location.
        isAuthorized = 
            ClientFormsAuthenticationMembershipProvider.ValidateUser(
            usernameTextBox.Text, passwordTextBox.Text, serviceUri);
    }
    catch (System.Net.WebException)
    {
        MessageBox.Show("Unable to access the authentication service.",
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    }
    if (!isAuthorized)
    {
        MessageBox.Show("Unable to authenticate.", "Not logged in",
            MessageBoxButtons.OK, MessageBoxIcon.Error);
        Application.Exit();
    }
    return isAuthorized;
}
Private Function ValidateUsingServiceUri(ByVal serviceUri As String) As Boolean

    Dim isAuthorized As Boolean = False

    Try

        ' Call the Shared overload of ValidateUser. Specify credentials 
        ' retrieved from login controls and the service location.
        isAuthorized = _
            ClientFormsAuthenticationMembershipProvider.ValidateUser( _
            usernameTextBox.Text, passwordTextBox.Text, serviceUri)

    Catch ex As System.Net.WebException

        MessageBox.Show("Unable to access the authentication service.", _
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)

    End Try

    If Not isAuthorized Then

        MessageBox.Show("Unable to authenticate.", "Not logged in", _
            MessageBoxButtons.OK, MessageBoxIcon.Error)
        Application.Exit()

    End If

    Return isAuthorized

End Function

Comentarios

Puede usar servicios de aplicaciones cliente para validar a los usuarios mediante la autenticación de formularios. Para validar a los usuarios, normalmente llamará al método staticMembership.ValidateUser, que llama internamente al método ClientFormsAuthenticationMembershipProvider.ValidateUser. Como alternativa, puede llamar directamente al método ClientFormsAuthenticationMembershipProvider.ValidateUser. Puede llamar a esta sobrecarga para acceder a un servicio de autenticación en la ubicación especificada por el parámetro serviceUri. El uso de esta sobrecarga es una alternativa a establecer la propiedad ServiceUri y llamar a la sobrecarga de ValidateUser(String, String).

Consulte también

Se aplica a