ClientFormsAuthenticationMembershipProvider.ValidateUser Método

Definição

Autentica um utilizador usando as credenciais especificadas.

Sobrecargas

Name Description
ValidateUser(String, String)

Autentica um utilizador usando o nome de utilizador e a palavra-passe especificados.

ValidateUser(String, String, Boolean)

Autentica um utilizador usando o nome de utilizador e a palavra-passe especificados, armazenando opcionalmente um hash da palavra-passe na cache de dados local.

ValidateUser(String, String, String)

Autentica um utilizador no URI de serviço especificado usando o nome de utilizador e a palavra-passe especificados.

ValidateUser(String, String)

Autentica um utilizador usando o nome de utilizador e a palavra-passe 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 utilizador a autenticar, ou Emptynull para recuperar credenciais da IClientFormsAuthenticationCredentialsProvider implementação que esta aplicação está configurada para usar.

password
String

A palavra-passe do utilizador para autenticar.

Devoluções

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

Exceções

O valor da IsOffline propriedade é false e o fornecedor de membros não consegue aceder ao serviço de autenticação.

Exemplos

O seguinte exemplo de código demonstra como usar este método para validar o utilizador através de uma IClientFormsAuthenticationCredentialsProvider implementação. Este exemplo exige que configure a sua aplicação para usar um fornecedor 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

Observações

Pode usar serviços de aplicação cliente para validar utilizadores através da autenticação de formulários. Para validar os utilizadores, normalmente chama o staticMembership.ValidateUser método, que internamente chama o ClientFormsAuthenticationMembershipProvider.ValidateUser método. Em alternativa, pode chamar este método diretamente, como mostrado na secção de Exemplo.

A autenticação de formulários exige que o utilizador especifique as suas credenciais através dos controlos de login fornecidos pela sua aplicação. Podes recuperar as credenciais e entregá-las ao Membership.ValidateUser método. Também pode passar em cadeias vazias ou null usar um fornecedor de credenciais.

Ver também

Aplica-se a

ValidateUser(String, String, Boolean)

Autentica um utilizador usando o nome de utilizador e a palavra-passe especificados, armazenando opcionalmente um hash da palavra-passe na 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 utilizador a autenticar.

password
String

A palavra-passe do utilizador para autenticar.

rememberMe
Boolean

true armazenar um hash da palavra-passe na cache de dados local para uso offline e para reautenticação automática quando o cookie de autenticação do utilizador expirar; false para desativar o login offline ou exigir que os utilizadores se reautentiquem quando o cookie expira.

Devoluções

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

Exceções

O valor da IsOffline propriedade é false e o fornecedor de membros não consegue aceder ao serviço de autenticação.

Exemplos

O código de exemplo seguinte demonstra como usar este método para validar o utilizador utilizando controlos de login no código da sua aplicação. Este exemplo requer um TextBox controlo nomeado usernameTextBox, um TextBox controlo nomeado passwordTextBox, e um CheckBox controlo nomeado 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

Observações

Pode usar serviços de aplicação cliente para validar utilizadores através da autenticação de formulários. Para validar os utilizadores, normalmente chama o staticMembership.ValidateUser método, que internamente chama o ClientFormsAuthenticationMembershipProvider.ValidateUser(String, String) método. Em alternativa, pode chamar diretamente o ClientFormsAuthenticationMembershipProvider.ValidateUser método. Podes chamar a esta sobrecarga para passar um rememberMe valor além dos username valores e password .

Ver também

Aplica-se a

ValidateUser(String, String, String)

Autentica um utilizador no URI de serviço especificado usando o nome de utilizador e a palavra-passe 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 utilizador a autenticar.

password
String

A palavra-passe do utilizador para autenticar.

serviceUri
String

O URI do serviço de autenticação a utilizar.

Devoluções

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

Exceções

O valor da IsOffline propriedade é false e o fornecedor de membros não consegue aceder ao serviço de autenticação.

Exemplos

O seguinte exemplo de código demonstra como usar este método para validar o utilizador através de um serviço de autenticação num local especificado. As credenciais de utilizador são recuperadas através dos controlos de login no código da sua aplicação. Este exemplo requer um TextBox controlo nomeado usernameTextBox e um TextBox controlo nomeado 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

Observações

Pode usar serviços de aplicação cliente para validar utilizadores através da autenticação de formulários. Para validar os utilizadores, normalmente chama o staticMembership.ValidateUser método, que internamente chama o ClientFormsAuthenticationMembershipProvider.ValidateUser método. Em alternativa, pode chamar diretamente o ClientFormsAuthenticationMembershipProvider.ValidateUser método. Pode chamar esta sobrecarga para aceder a um serviço de autenticação no local especificado pelo serviceUri parâmetro. Usar esta sobrecarga é uma alternativa a definir a ServiceUri propriedade e chamar a ValidateUser(String, String) sobrecarga.

Ver também

Aplica-se a