SqlMembershipProvider.ValidateUser(String, String) メソッド

定義

指定のユーザー名とパスワードが 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

パラメーター

username
String

検証するユーザーの名前。

password
String

指定したユーザーのパスワード。

戻り値

指定されたユーザー名とパスワードが有効な場合は、true。それ以外の場合は、false。 ユーザーがデータベース内に存在しない場合にも false 値が戻ります。

次のコード例は、フォーム認証と を使用するように構成された ASP.NET アプリケーションのサインイン ページを SqlMembershipProvider示しています。 指定されたユーザー資格情報が無効な場合は、ユーザーにメッセージが表示されます。 それ以外の場合、ユーザーは メソッドを使用して RedirectFromLoginPage 最初に要求された URL にリダイレクトされます。

注意

この例では、 クラスを Membership 使用して、 SqlMembershipProvider Web.config ファイル内の として defaultProvider 指定された を呼び出します。 型SqlMembershipProviderとして既定のプロバイダーにアクセスする必要がある場合は、 クラスの プロパティをProviderMembershipキャストできます。 特定のプロバイダーの種類として他の構成済みプロバイダーにアクセスするには、 クラスの プロパティを使用して構成された名前で Providers アクセスし、特定のプロバイダーの Membership 種類としてキャストします。

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

注釈

このメソッドは、 クラスによって呼び出され Membership 、ASP.NET アプリケーションの構成ファイル (Web.config) で指定された SQL Server データベース内のユーザーのユーザー情報を検証します。

ユーザーが正常に検証されると、最後のアクティビティの日付と最後のサインイン日の値が、データベースの現在の日付と時刻に更新されます。

正しくないパスワードが メソッドに ValidateUser 指定された場合、無効なパスワード試行を追跡する内部カウンターは 1 ずつインクリメントされます。 これにより、ユーザーがロックアウトされ、 メソッドの呼び出し UnlockUser によってロック状態がクリアされるまでログオンできなくなる可能性があります。 正しいパスワードが指定され、ユーザーが現在ロックアウトされていない場合、無効なパスワードとパスワード応答の試行を追跡する内部カウンターは 0 にリセットされます。 詳細については、MaxInvalidPasswordAttempts プロパティおよび PasswordAttemptWindow プロパティを参照してください。

先頭と末尾のスペースは、すべてのパラメーター値からトリミングされます。

適用対象

こちらもご覧ください