SqlMembershipProvider.ValidateUser(String, String) Metod

Definition

Verifierar att det angivna användarnamnet och lösenordet finns i SQL Server medlemskapsdatabasen.

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

Parametrar

username
String

Namnet på den användare som ska verifieras.

password
String

Lösenordet för den angivna användaren.

Returer

trueom det angivna användarnamnet och lösenordet är giltiga; annars . false Ett värde för false returneras också om användaren inte finns i databasen.

Exempel

I följande kodexempel visas inloggningssidan för ett ASP.NET program som har konfigurerats för att använda formulärautentisering och SqlMembershipProvider. Om de angivna användarautentiseringsuppgifterna är ogiltiga visas ett meddelande för användaren. Annars omdirigeras användaren till den ursprungligen begärda URL:en med hjälp av RedirectFromLoginPage metoden.

Note

I det Membership här exemplet används klassen för att anropa den SqlMembershipProvider angivna som defaultProvider i filen Web.config. Om du behöver komma åt standardprovidern som typ SqlMembershipProviderkan du omvandla Provider egenskapen för Membership klassen. För att få åtkomst till andra konfigurerade leverantörer som en specifik providertyp kan du komma åt dem med deras konfigurerade namn med Providers egenskapen Membership för klassen och omvandla dem som den specifika providertypen.

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

Kommentarer

Den här metoden anropas av klassen Membership för att verifiera användarinformation för en användare i den SQL Server databas som anges i ASP.NET-programmets konfigurationsfil (Web.config).

När en användare har verifierats uppdateras värdena för senaste aktivitetsdatum och senaste inloggningsdatum till aktuellt datum och tid i databasen.

Om ett felaktigt lösenord anges till ValidateUser metoden ökas den interna räknaren som spårar ogiltiga lösenordsförsök med ett. Detta kan leda till att användaren blir utelåst och inte kan logga in förrän låsstatusen har rensats av ett anrop till UnlockUser metoden. Om rätt lösenord anges och användaren för närvarande inte är utelåst återställs de interna räknare som spårar ogiltiga lösenords- och lösenordssvarsförsök till noll. Mer information finns i egenskaperna MaxInvalidPasswordAttempts och PasswordAttemptWindow.

Inledande och avslutande blanksteg trimmas från alla parametervärden.

Gäller för

Se även