Language

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 の値も返されます。

例

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

Note

この例では、Membership クラスを使用して、Web.config ファイル内のSqlMembershipProviderとして指定されたdefaultProviderを呼び出します。 SqlMembershipProvider型として既定のプロバイダーにアクセスする必要がある場合は、Provider クラスの Membership プロパティをキャストできます。 特定のプロバイダーの種類として他の構成済みプロバイダーにアクセスするには、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 メソッドの呼び出しによってロック状態がクリアされるまでログオンできなくなる可能性があります。 正しいパスワードが指定されていて、ユーザーが現在ロックアウトされていない場合、無効なパスワードとパスワード応答の試行を追跡する内部カウンターはゼロにリセットされます。 詳細については、 MaxInvalidPasswordAttempts および PasswordAttemptWindow プロパティを参照してください。

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

適用対象

こちらもご覧ください