Partilhar via


ClientFormsAuthenticationMembershipProvider.ValidateUser Método

Definição

Autentica um usuário usando as credenciais especificadas.

Sobrecargas

ValidateUser(String, String)

Autentica um usuário usando o nome de usuário e a senha especificados.

ValidateUser(String, String, Boolean)

Autentica um usuário usando o nome de usuário e a senha especificados, opcionalmente armazenando um hash da senha no cache de dados local.

ValidateUser(String, String, String)

Autentica um usuário no URI de serviço especificado usando o nome de usuário e a senha especificados.

ValidateUser(String, String)

Autentica um usuário usando o nome de usuário e a senha 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

O nome do usuário a ser autenticado ou Empty ou null para recuperar credenciais da implementação de IClientFormsAuthenticationCredentialsProvider que este aplicativo está configurado para usar.

password
String

A senha do usuário a ser autenticado.

Retornos

true se o usuário foi autenticado; caso contrário, false.

Exceções

O valor da propriedade IsOffline é false e o provedor de associação não consegue acessar o serviço de autenticação.

Exemplos

O código de exemplo a seguir demonstra como usar esse método para validar o usuário usando uma implementação de IClientFormsAuthenticationCredentialsProvider. Este exemplo exige que você configure seu aplicativo para usar um provedor de credenciais.

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

Comentários

Você pode usar os serviços de aplicativo cliente para validar os usuários usando a autenticação de formulários. Para validar os usuários, você normalmente chamará o método staticMembership.ValidateUser, que chama internamente o método ClientFormsAuthenticationMembershipProvider.ValidateUser. Como alternativa, você pode chamar esse método diretamente, conforme mostrado na seção Exemplo.

A autenticação de formulários requer que o usuário especifique suas credenciais por meio de controles de logon fornecidos pelo aplicativo. Você pode recuperar as credenciais e passá-las para o método Membership.ValidateUser. Você também pode passar cadeias de caracteres vazias ou null para usar um provedor de credenciais.

Confira também

Aplica-se a

ValidateUser(String, String, Boolean)

Autentica um usuário usando o nome de usuário e a senha especificados, opcionalmente armazenando um hash da senha no cache de dados 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

O nome do usuário a ser autenticado.

password
String

A senha do usuário a ser autenticado.

rememberMe
Boolean

true armazenar um hash da senha no cache de dados local para uso offline e para autenticação automática quando o cookie de autenticação do usuário expirar; false desabilitar o logon offline ou exigir que os usuários reautentiquem quando o cookie expirar.

Retornos

true se o usuário foi autenticado; caso contrário, false.

Exceções

O valor da propriedade IsOffline é false e o provedor de associação não consegue acessar o serviço de autenticação.

Exemplos

O código de exemplo a seguir demonstra como usar esse método para validar o usuário usando controles de logon no código do aplicativo. Este exemplo requer um controle TextBox chamado usernameTextBox, um controle de TextBox chamado passwordTextBoxe um controle CheckBox chamado 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

Comentários

Você pode usar os serviços de aplicativo cliente para validar os usuários usando a autenticação de formulários. Para validar os usuários, você normalmente chamará o método staticMembership.ValidateUser, que chama internamente o método ClientFormsAuthenticationMembershipProvider.ValidateUser(String, String). Como alternativa, você pode chamar o método ClientFormsAuthenticationMembershipProvider.ValidateUser diretamente. Você pode chamar essa sobrecarga para passar um valor rememberMe além dos valores username e password.

Confira também

Aplica-se a

ValidateUser(String, String, String)

Autentica um usuário no URI de serviço especificado usando o nome de usuário e a senha 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

O nome do usuário a ser autenticado.

password
String

A senha do usuário a ser autenticado.

serviceUri
String

O URI do serviço de autenticação a ser usado.

Retornos

true se o usuário foi autenticado; caso contrário, false.

Exceções

O valor da propriedade IsOffline é false e o provedor de associação não consegue acessar o serviço de autenticação.

Exemplos

O código de exemplo a seguir demonstra como usar esse método para validar o usuário por meio de um serviço de autenticação em um local especificado. As credenciais do usuário são recuperadas dos controles de logon no código do aplicativo. Este exemplo requer um controle TextBox chamado usernameTextBox e um controle TextBox chamado 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

Comentários

Você pode usar os serviços de aplicativo cliente para validar os usuários usando a autenticação de formulários. Para validar os usuários, você normalmente chamará o método staticMembership.ValidateUser, que chama internamente o método ClientFormsAuthenticationMembershipProvider.ValidateUser. Como alternativa, você pode chamar o método ClientFormsAuthenticationMembershipProvider.ValidateUser diretamente. Você pode chamar essa sobrecarga para acessar um serviço de autenticação no local especificado pelo parâmetro serviceUri. Usar essa sobrecarga é uma alternativa para definir a propriedade ServiceUri e chamar a sobrecarga de ValidateUser(String, String).

Confira também

Aplica-se a