SqlMembershipProvider.ValidateUser(String, String) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Controleert of de opgegeven gebruikersnaam en het opgegeven wachtwoord aanwezig zijn in de SQL Server lidmaatschapsdatabase.
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
Parameters
- username
- String
De naam van de gebruiker die moet worden gevalideerd.
- password
- String
Het wachtwoord voor de opgegeven gebruiker.
Retouren
true als de opgegeven gebruikersnaam en het opgegeven wachtwoord geldig zijn; anders, false. Er wordt ook een waarde false geretourneerd als de gebruiker niet in de database bestaat.
Voorbeelden
In het volgende codevoorbeeld ziet u de aanmeldingspagina voor een ASP.NET-toepassing die is geconfigureerd voor het gebruik van formulierverificatie en de SqlMembershipProvider. Als de opgegeven gebruikersreferenties ongeldig zijn, wordt er een bericht weergegeven aan de gebruiker. Anders wordt de gebruiker omgeleid naar de oorspronkelijk aangevraagde URL met behulp van de RedirectFromLoginPage methode.
Note
In dit voorbeeld wordt de Membership klasse gebruikt om de SqlMembershipProvider opgegeven aan te roepen als het defaultProvider in het Web.config-bestand. Als u toegang wilt krijgen tot de standaardprovider als het type SqlMembershipProvider, kunt u de Provider eigenschap van de Membership klasse casten. Als u toegang wilt krijgen tot andere geconfigureerde providers als een specifiek providertype, kunt u ze openen met hun geconfigureerde naam met de Providers eigenschap van de Membership klasse en deze casten als het specifieke providertype.
<%@ 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>
Opmerkingen
Deze methode wordt aangeroepen door de klasse Membership om gebruikersgegevens voor een gebruiker te valideren in de SQL Server database die is opgegeven in het configuratiebestand van de ASP.NET toepassing (Web.config).
Wanneer een gebruiker is gevalideerd, worden de datum van de laatste activiteit en de laatste aanmeldingsdatum bijgewerkt naar de huidige datum en tijd in de database.
Als er een onjuist wachtwoord wordt opgegeven voor de ValidateUser methode, wordt de interne teller waarmee ongeldige wachtwoordpogingen worden bijgehouden, met één verhoogd. Dit kan ertoe leiden dat de gebruiker wordt vergrendeld en zich niet kan aanmelden totdat de vergrendelingsstatus wordt gewist door een aanroep naar de UnlockUser methode. Als het juiste wachtwoord is opgegeven en de gebruiker momenteel niet is vergrendeld, worden de interne tellers die ongeldig wachtwoord bijhouden en pogingen voor wachtwoordantwoorden opnieuw ingesteld op nul. Zie de eigenschappen MaxInvalidPasswordAttempts en PasswordAttemptWindow voor meer informatie.
Voorloop- en volgspaties worden afgekapt van alle parameterwaarden.