Udostępnij za pośrednictwem


SqlMembershipProvider.ValidateUser(String, String) Metoda

Definicja

Sprawdza, czy określona nazwa użytkownika i hasło istnieją w bazie danych członkostwa programu 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

Parametry

username
String

Nazwa użytkownika do zweryfikowania.

password
String

Hasło określonego użytkownika.

Zwraca

true jeśli określona nazwa użytkownika i hasło są prawidłowe; w przeciwnym razie, false. Wartość false jest również zwracana, jeśli użytkownik nie istnieje w bazie danych.

Przykłady

Poniższy przykład kodu przedstawia stronę logowania dla aplikacji ASP.NET skonfigurowanej do używania uwierzytelniania formularzy i .SqlMembershipProvider Jeśli podane poświadczenia użytkownika są nieprawidłowe, zostanie wyświetlony komunikat dla użytkownika. W przeciwnym razie użytkownik zostanie przekierowany do pierwotnie żądanego adresu URL przy użyciu RedirectFromLoginPage metody .

Uwaga / Notatka

W tym przykładzie użyto Membership klasy do wywołania określonego SqlMembershipProvider elementu jako defaultProvider w pliku Web.config. Jeśli musisz uzyskać dostęp do domyślnego dostawcy jako typu SqlMembershipProvider, możesz rzutować Provider właściwość Membership klasy. Aby uzyskać dostęp do innych skonfigurowanych dostawców jako określonego typu dostawcy, możesz uzyskać do nich dostęp według ich skonfigurowanej nazwy z właściwością ProvidersMembership klasy i rzutować je jako określony typ dostawcy.

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

Uwagi

Ta metoda jest wywoływana przez klasę Membership w celu zweryfikowania informacji o użytkowniku w bazie danych programu SQL Server określonej w pliku konfiguracji aplikacji ASP.NET (Web.config).

Po pomyślnym zweryfikowaniu użytkownika wartości daty ostatniego działania i daty ostatniego logowania są aktualizowane do bieżącej daty i godziny w bazie danych.

Jeśli do metody podano ValidateUser nieprawidłowe hasło, wewnętrzny licznik śledzący nieprawidłowe próby hasła jest zwiększany o jeden. Może to spowodować zablokowanie użytkownika i nie można się zalogować, dopóki stan blokady nie zostanie wyczyszczone przez wywołanie UnlockUser metody . Jeśli podano poprawne hasło i użytkownik nie jest obecnie zablokowany, wewnętrzne liczniki śledzące nieprawidłowe hasło i próby odpowiedzi na hasło są resetowane do zera. Aby uzyskać więcej informacji, zobacz MaxInvalidPasswordAttempts właściwości i PasswordAttemptWindow .

Spacje wiodące i końcowe są przycinane ze wszystkich wartości parametrów.

Dotyczy

Zobacz też