Condividi tramite


SqlMembershipProvider.ValidateUser(String, String) Metodo

Definizione

Verifica che nome utente e password specificati esistano nel database di appartenenze 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

Parametri

username
String

Nome dell'utente da convalidare.

password
String

Password dell'utente specificato.

Restituisce

Boolean

true se il nome utente e la password specificati sono validi. In caso contrario, false. Il valore false è restituito anche nel caso in cui l'utente non sia presente nel database.

Esempio

Nell'esempio di codice seguente viene illustrata la pagina di accesso per un'applicazione ASP.NET configurata per l'uso dell'autenticazione dei moduli e dell'oggetto SqlMembershipProvider. Se le credenziali utente specificate non sono valide, viene visualizzato un messaggio all'utente. In caso contrario, l'utente viene reindirizzato all'URL richiesto originariamente usando il RedirectFromLoginPage metodo .

Nota

In questo esempio viene usata la Membership classe per chiamare l'oggetto SqlMembershipProvider specificato come defaultProvider nel file di Web.config. Se è necessario accedere al provider predefinito come tipo SqlMembershipProvider, è possibile eseguire il cast della Provider proprietà della Membership classe. Per accedere ad altri provider configurati come tipo di provider specifico, è possibile accedervi tramite il nome configurato con la proprietà della Membership classe e eseguirne il Providers cast come tipo di provider specifico.

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

Commenti

Questo metodo viene chiamato dalla Membership classe per convalidare le informazioni utente per un utente nel database SQL Server specificato nel file di configurazione dell'applicazione di ASP.NET (Web.config).

Quando un utente viene convalidato correttamente, la data dell'ultima attività e gli ultimi valori di data di accesso vengono aggiornati alla data e all'ora correnti nel database.

Se viene fornita una password errata al ValidateUser metodo, il contatore interno che tiene traccia dei tentativi di password non validi viene incrementato di uno. Ciò può comportare il blocco dell'utente e non è in grado di accedere fino a quando lo stato del UnlockUser blocco non viene cancellato da una chiamata al metodo. Se la password corretta viene fornita e l'utente non è attualmente bloccato, i contatori interni che tengono traccia dei tentativi di password e risposte password non validi vengono reimpostati su zero. Per altre informazioni, vedere le MaxInvalidPasswordAttempts proprietà e PasswordAttemptWindow .

Gli spazi iniziali e finali vengono tagliati da tutti i valori dei parametri.

Si applica a

Vedi anche