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 dla określonego użytkownika.

Zwraca

true jeśli określona nazwa użytkownika i hasło są prawidłowe; w przeciwnym razie , false. Wartość jest false 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 jest przekierowywany do pierwotnie żądanego adresu URL przy użyciu RedirectFromLoginPage metody .

Uwaga

W tym przykładzie Membership użyto klasy do wywołania SqlMembershipProvider określonej wartości w defaultProvider 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 Membership nazwy z właściwością Providers 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ę w celu zweryfikowania informacji o użytkowniku Membership w bazie danych programu SQL Server określonej w pliku konfiguracji aplikacji ASP.NET (Web.config).

Gdy użytkownik zostanie pomyślnie zweryfikowany, data ostatniego działania i ostatnie wartości daty logowania zostaną zaktualizowane do bieżącej daty i godziny w bazie danych.

Jeśli do metody podano ValidateUser nieprawidłowe hasło, wewnętrzny licznik, który śledzi 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, które śledzą nieprawidłowe hasła i próby odpowiedzi na hasło, zostaną zresetowane do zera. Aby uzyskać więcej informacji, zobacz właściwości MaxInvalidPasswordAttempts i PasswordAttemptWindow.

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

Dotyczy

Zobacz też