SqlMembershipProvider.ValidateUser(String, String) Método

Definição

Verifica se o nome de utilizador e a palavra-passe especificados existem na base de dados de membros do SQL Server.

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 validar.

password
String

A palavra-passe do utilizador especificado.

Devoluções

true se o nome de utilizador e a palavra-passe especificados forem válidos; caso contrário, false. Um valor de false também é devolvido se o utilizador não existir na base de dados.

Exemplos

O exemplo de código seguinte mostra a página de início de sessão para uma aplicação ASP.NET configurada para usar autenticação de formulários e o SqlMembershipProvider. Se as credenciais fornecidas forem inválidas, é exibida uma mensagem ao utilizador. Caso contrário, o utilizador é redirecionado para a URL originalmente solicitada usando o RedirectFromLoginPage método.

Note

Este exemplo usa a Membership classe para chamar o SqlMembershipProvider especificado como o defaultProvider no ficheiro Web.config. Se precisares de aceder ao fornecedor padrão como tipo SqlMembershipProvider, podes castar a Provider propriedade da Membership classe. Para aceder a outros fornecedores configurados como um tipo específico de fornecedor, pode aceder a eles pelo nome configurado com a Providers propriedade da Membership classe e atribuí-los ao tipo específico de fornecedor.

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

public void Login_OnClick(object sender, EventArgs args)
{
   if (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text))
      FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked);
   else
     Msg.Text = "Login failed. Please check your user name and password and try again.";
}


</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
  <title>Login</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>Login</h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />

  Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
  Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
 
  <asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
  <asp:CheckBox id="NotPublicCheckBox" runat="server" /> 
  Check here if this is <span style="text-decoration:underline">not</span> a public computer.

</form>

</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

Public Sub Login_OnClick(sender As Object, args As  EventArgs)

   If (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text)) Then
      FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked)
   Else
     Msg.Text = "Login failed. Please check your user name and password and try again."
   End If

End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
  <title>Login</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>Login</h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />

  Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
  Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
 
  <asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
  <asp:CheckBox id="NotPublicCheckBox" runat="server" /> 
  Check here if this is <span style="text-decoration:underline">not</span> a public computer.

</form>

</body>
</html>

Observações

Este método é chamado pela classe Membership para validar a informação do utilizador de um utilizador na base de dados SQL Server especificada no ficheiro de configuração da aplicação ASP.NET (Web.config).

Quando um utilizador é validado com sucesso, os valores da última data de atividade e da última data de início de sessão são atualizados para a data e hora atuais na base de dados.

Se for fornecida uma palavra-passe incorreta ao ValidateUser método, o contador interno que acompanha as tentativas de palavra-passe inválida é incrementado em um. Isto pode resultar no bloqueio do utilizador e na impossibilidade de iniciar sessão até que o estado do bloqueio seja resolvido por uma chamada ao UnlockUser método. Se for fornecida a palavra-passe correta e o utilizador não estiver atualmente bloqueado, então os contadores internos que rastreiam palavras-passe inválidas e tentativas de resposta por palavra-passe são reiniciados para zero. Para obter mais informações, consulte as propriedades MaxInvalidPasswordAttempts e PasswordAttemptWindow.

Os espaços à frente e à saída são cortados a partir de todos os valores dos parâmetros.

Aplica-se a

Ver também