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.
Начальные и конечные пробелы обрезаются из всех значений параметров.