Поделиться через


SqlMembershipProvider.ValidateUser(String, String) Метод

Определение

Проверяет наличие указанного имени пользователя и пароля в базе данных членства 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

Параметры

username
String

Имя проверяемого пользователя.

password
String

Пароль для указанного пользователя.

Возвращаемое значение

true Значение , если указанное имя пользователя и пароль допустимы; falseв противном случае . Значение false также возвращается, если пользователь не существует в базе данных.

Примеры

В следующем примере кода показана страница входа для приложения ASP.NET, настроенного для использования проверки подлинности форм и проверки SqlMembershipProviderподлинности форм. Если предоставленные учетные данные пользователя недопустимы, отображается сообщение пользователю. В противном случае пользователь перенаправляется на исходный запрошенный URL-адрес с помощью RedirectFromLoginPage метода.

Замечание

В этом примере класс используется Membership для вызова SqlMembershipProvider указанного defaultProvider в файле Web.config. Если необходимо получить доступ к поставщику по умолчанию в качестве типа SqlMembershipProvider, можно привести Provider свойство Membership класса. Чтобы получить доступ к другим настроенным поставщикам в качестве определенного типа поставщика, вы можете получить доступ к ним по своему имени с Providers помощью свойства класса и привести их в качестве конкретного Membership типа поставщика.

<%@ 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>

Комментарии

Этот метод вызывается классом Membership для проверки сведений о пользователе в базе данных SQL Server, указанной в файле конфигурации приложения ASP.NET (Web.config).

После успешной проверки пользователя значения даты последнего входа и даты последнего входа обновляются до текущей даты и времени в базе данных.

Если в метод указан ValidateUser неверный пароль, внутренний счетчик, отслеживающий недопустимые попытки пароля, увеличивается по одному. Это может привести к блокировке пользователя и не сможет войти в систему, пока состояние блокировки не будет удалено вызовом UnlockUser метода. Если указан правильный пароль и пользователь в настоящее время не заблокирован, внутренние счетчики, отслеживающие недопустимый пароль и попытки ответа на пароль, сбрасываются до нуля. Дополнительные сведения см. в MaxInvalidPasswordAttempts разделе и PasswordAttemptWindow свойствах.

Начальные и конечные пробелы обрезаются от всех значений параметров.

Применяется к

См. также раздел