SqlMembershipProvider.ValidateUser(String, String) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.