Membership Membership Membership Membership Class

定義

ユーザーの資格情報を検証し、ユーザー設定を管理します。Validates user credentials and manages user settings. このクラスは継承できません。This class cannot be inherited.

public ref class Membership abstract sealed
public static class Membership
type Membership = class
Public Class Membership
継承
MembershipMembershipMembershipMembership

次のコード例は、フォーム認証と ASP.NET メンバーシップを使用するように構成された ASP.NET アプリケーションのログインページを示しています。The following code example shows the login page for an ASP.NET application configured to use forms authentication and ASP.NET membership. 指定されたユーザーの資格情報が無効な場合は、ユーザーにメッセージが表示されます。If the supplied user credentials are invalid, a message is displayed to the user. それ以外の場合、ユーザーはRedirectFromLoginPageメソッドを使用して最初に要求された URL にリダイレクトされます。Otherwise, the user is redirected to the originally requested URL using the RedirectFromLoginPage method.

注意

ASP.NET ログインLoginコントロール ( LoginView、、 LoginName PasswordRecovery、、および) は、ユーザーに資格情報の入力を要求し、メンバーシップシステムで資格情報を検証するために必要なすべてのロジックをカプセル化します。 LoginStatusクラスを使用したMembershipプログラムによるチェックの代わりに使用されます。The ASP.NET login controls (Login, LoginView, LoginStatus, LoginName, and PasswordRecovery) encapsulate virtually all of the logic required to prompt users for credentials and validate the credentials in the membership system and can be used in place of programmatic checking using the Membership class.

重要

この例には、セキュリティ上の脅威となる可能性のあるユーザー入力を受け付けるテキストボックスが含まれています。This example contains a text box that accepts user input, which is a potential security threat. 既定では、ASP.NET Web ページによって、ユーザー入力にスクリプトまたは HTML 要素が含まれていないかどうかが検証されます。By default, ASP.NET Web pages validate that user input does not include script or HTML elements. 詳細については、「スクリプトによる攻略の概要」を参照してください。For more information, see Script Exploits Overview.

<%@ 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 アプリケーションで、ユーザーの資格情報を検証し、パスワードや電子メールアドレスなどのユーザー設定を管理するために使用されます。The Membership class is used in ASP.NET applications to validate user credentials and manage user settings such as passwords and email addresses. クラスMembershipは、独自ので使用することも、 FormsAuthenticationと組み合わせて使用して、Web アプリケーションまたはサイトのユーザーを認証するための完全なシステムを作成することもできます。The Membership class can be used on its own, or in conjunction with the FormsAuthentication to create a complete system for authenticating users of a Web application or site. コントロールLoginは、 Membershipクラスをカプセル化して、ユーザーを検証するための便利なメカニズムを提供します。The Login control encapsulates the Membership class to provide a convenient mechanism for validating users.

注意

ASP.NET のメンバーシップ機能に慣れていない場合は、「メンバーシップの概要」を参照してください。If you are not familiar with the membership features of ASP.NET, see Introduction to Membership before continuing. メンバーシップに関連する他のトピックの一覧については、「メンバーシップを使用したユーザーの管理」を参照してください。For a list of other topics related to membership, see Managing Users by Using Membership.

クラスMembershipは、次の機能を提供します。The Membership class provides facilities for:

  • 新しいユーザーを作成しています。Creating new users.

  • Microsoft SQL Server または代替データストアへのメンバーシップ情報 (ユーザー名、パスワード、電子メールアドレス、およびサポートデータ) の格納。Storing membership information (user names, passwords, email addresses, and supporting data) in Microsoft SQL Server or in an alternative data store.

  • サイトにアクセスするユーザーを認証します。Authenticating users who visit your site. プログラムによってユーザーを認証できます。またLogin 、コントロールを使用して、コードをほとんどまたはまったく必要としない完全な認証システムを作成することもできます。You can authenticate users programmatically, or you can use the Login control to create a complete authentication system that requires little or no code.

  • パスワードの管理。これには、パスワードの作成、変更、取得、リセットなどが含まれます。Managing passwords, which includes creating, changing, retrieving, and resetting them, and so on. 必要に応じて、パスワードの質問と回答を要求するように ASP.NET メンバーシップを構成して、パスワードを忘れたユーザーに対するパスワードのリセットまたは取得要求を認証することができます。You can optionally configure ASP.NET membership to require a password question and answer to authenticate password reset or retrieval requests for users that have forgotten their password.

ASP.NET のメンバーシップは ASP.NET の認証用の自己完結型機能ですが、ASP.NET の役割管理と統合して、サイトに承認サービスを提供することができます。Although ASP.NET membership is a self-standing feature in ASP.NET For authentication, it can be integrated with ASP.NET role management to provide authorization services for your site. また、メンバーシップを ASP.NET ユーザー System.Web.Profileと統合して、個々のユーザーに合わせてカスタマイズできるアプリケーション固有のカスタマイズを行うこともできます。Membership can also be integrated with the ASP.NET user System.Web.Profile to provide application-specific customization that can be tailored to individual users. 詳細については、「役割管理ASP.NET プロファイルプロパティについて」を参照してください。For details, see Understanding Role Management and ASP.NET Profile Properties Overview.

クラスMembershipは、データソースとの通信にメンバーシッププロバイダーに依存しています。The Membership class relies on membership providers to communicate with a data source. .NET Framework には、 SqlMembershipProviderMicrosoft SQL Server データベースにユーザー情報を格納する、 ActiveDirectoryMembershipProviderおよび Active Directory または Active Directory Application Mode (ADAM) サーバーにユーザー情報を格納できるが含まれています。The .NET Framework includes a SqlMembershipProvider, which stores user information in a Microsoft SQL Server database, and an ActiveDirectoryMembershipProvider, which enables you to store user information on an Active Directory or Active Directory Application Mode (ADAM) server. また、カスタムメンバーシッププロバイダーを実装して、 Membershipクラスで使用できる代替データソースと通信することもできます。You can also implement a custom membership provider to communicate with an alternative data source that can be used by the Membership class. カスタムメンバーシッププロバイダーは、 MembershipProvider抽象クラスを継承します。Custom membership providers inherit the MembershipProvider abstract class. 詳細については、「メンバーシッププロバイダーの実装」を参照してください。For more information, see Implementing a Membership Provider.

既定では、すべての ASP.NET アプリケーションに対して ASP.NET メンバーシップが有効になっています。By default, ASP.NET membership is enabled for all ASP.NET applications. 既定のメンバーシッププロバイダーはでSqlMembershipProvider 、マシン構成ではという名前AspNetSqlProviderで指定されます。The default membership provider is the SqlMembershipProvider and is specified in the machine configuration with the name AspNetSqlProvider. の既定のインスタンスはSqlMembershipProvider 、Microsoft SQL Server のローカルインスタンスに接続するように構成されています。The default instance of the SqlMembershipProvider is configured to connect to a local instance of Microsoft SQL Server.

既定の設定を変更して、 SqlMembershipProvider AspNetSqlProviderインスタンス以外を既定のプロバイダーとして指定するか、web.config ファイルを使用して、カスタムプロバイダーのインスタンスを ASP.NET アプリケーションの既定のプロバイダーとして指定することができます。You can modify the default settings to specify a SqlMembershipProvider other than the AspNetSqlProvider instance as the default provider, or specify an instance of a custom provider as the default provider for your ASP.NET application using the Web.config file. Web アプリケーションの ASP.NET メンバーシップ構成を指定するには、web.config ファイルの [メンバーシップの構成] セクションを使用します。You can specify the ASP.NET membership configuration for your Web application using the membership configuration section in the Web.config file. メンバーシップセクションのprovidersサブセクションを使用すると、既定のプロバイダーの1つ以外のメンバーシッププロバイダーを指定できます。You can use the providers subsection of the membership section to specify a membership provider other than one of the default providers. たとえば、次のメンバーシップセクションでは、現在のアプリケーション構成から既定のメンバーシッププロバイダーを削除し、という名前のSqlProvider SQL Server インスタンスに接続するというAspSqlServer名前の新しいプロバイダーを追加します。For example, the following membership section removes the default membership providers from the current application configuration and adds a new provider with a name of SqlProvider that connects to a SQL Server instance named AspSqlServer.

<configuration>  
  <connectionStrings>  
    <add name="SqlServices" connectionString="Data Source=AspSqlServer;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />  
  </connectionStrings>  
  <system.web>  
    <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">  
      <providers>  
        <remove name="AspNetSqlProvider" />  
        <add name="SqlProvider"  
          type="System.Web.Security.SqlMembershipProvider"  
          connectionStringName="SqlServices"  
          enablePasswordRetrieval="false"  
          enablePasswordReset="true"  
          requiresQuestionAndAnswer="true"  
          passwordFormat="Hashed"  
          applicationName="/" />  
      </providers>  
    </membership>  
  </system.web>  
</configuration>  

プロパティ

ApplicationName ApplicationName ApplicationName ApplicationName

アプリケーションの名前を取得または設定します。Gets or sets the name of the application.

EnablePasswordReset EnablePasswordReset EnablePasswordReset EnablePasswordReset

現在のメンバーシップ プロバイダーによってユーザーにパスワードのリセットが許可されているかどうかを示す値を取得します。Gets a value indicating whether the current membership provider is configured to allow users to reset their passwords.

EnablePasswordRetrieval EnablePasswordRetrieval EnablePasswordRetrieval EnablePasswordRetrieval

現在のメンバーシップ プロバイダーによってユーザーにパスワードの取得が許可されているかどうかを示す値を取得します。Gets a value indicating whether the current membership provider is configured to allow users to retrieve their passwords.

HashAlgorithmType HashAlgorithmType HashAlgorithmType HashAlgorithmType

パスワードをハッシュするために使用するアルゴリズムの識別子。The identifier of the algorithm used to hash passwords.

MaxInvalidPasswordAttempts MaxInvalidPasswordAttempts MaxInvalidPasswordAttempts MaxInvalidPasswordAttempts

メンバーシップ ユーザーがロックされるまでの無効なパスワードまたはパスワード解答の指定回数を取得します。Gets the number of invalid password or password-answer attempts allowed before the membership user is locked out.

MinRequiredNonAlphanumericCharacters MinRequiredNonAlphanumericCharacters MinRequiredNonAlphanumericCharacters MinRequiredNonAlphanumericCharacters

有効なパスワードに最低限含むことが必要な特殊文字の数を取得します。Gets the minimum number of special characters that must be present in a valid password.

MinRequiredPasswordLength MinRequiredPasswordLength MinRequiredPasswordLength MinRequiredPasswordLength

パスワードに最低限必要な長さを取得します。Gets the minimum length required for a password.

PasswordAttemptWindow PasswordAttemptWindow PasswordAttemptWindow PasswordAttemptWindow

有効なパスワードまたはパスワードの解答の指定までに、連続して失敗した試行を追跡する時間枠を取得します。Gets the time window between which consecutive failed attempts to provide a valid password or password answer are tracked.

PasswordStrengthRegularExpression PasswordStrengthRegularExpression PasswordStrengthRegularExpression PasswordStrengthRegularExpression

パスワードの評価に使用される正規表現を取得します。Gets the regular expression used to evaluate a password.

Provider Provider Provider Provider

アプリケーションの既定のメンバーシップ プロバイダーへの参照を取得します。Gets a reference to the default membership provider for the application.

Providers Providers Providers Providers

ASP.NET アプリケーションのメンバーシップ プロバイダーのコレクションを取得します。Gets a collection of the membership providers for the ASP.NET application.

RequiresQuestionAndAnswer RequiresQuestionAndAnswer RequiresQuestionAndAnswer RequiresQuestionAndAnswer

ユーザーがパスワードをリセットおよび取得する際にパスワードの質問に答えなければならないように、既定のメンバーシップ プロバイダーが構成されているかどうかを示す値を取得します。Gets a value indicating whether the default membership provider requires the user to answer a password question for password reset and retrieval.

UserIsOnlineTimeWindow UserIsOnlineTimeWindow UserIsOnlineTimeWindow UserIsOnlineTimeWindow

それ以降ユーザーがもはやオンラインでないと見なされる、ユーザーの最終利用日時スタンプからの時間を分単位で指定します。Specifies the number of minutes after the last-activity date/time stamp for a user during which the user is considered online.

メソッド

CreateUser(String, String) CreateUser(String, String) CreateUser(String, String) CreateUser(String, String)

新しいユーザーをデータ ストアに追加します。Adds a new user to the data store.

CreateUser(String, String, String) CreateUser(String, String, String) CreateUser(String, String, String) CreateUser(String, String, String)

電子メール アドレスを指定して新しいユーザーをデータ ストアに追加します。Adds a new user with a specified email address to the data store.

CreateUser(String, String, String, String, String, Boolean, MembershipCreateStatus) CreateUser(String, String, String, String, String, Boolean, MembershipCreateStatus) CreateUser(String, String, String, String, String, Boolean, MembershipCreateStatus) CreateUser(String, String, String, String, String, Boolean, MembershipCreateStatus)

プロパティ値を指定して新しいユーザーをデータ ストアに追加し、ユーザーの作成に成功したかどうか、または失敗の理由を示すステータス パラメーターを返します。Adds a new user with specified property values to the data store and returns a status parameter indicating that the user was successfully created or the reason the user creation failed.

CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus) CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus) CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus) CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus)

指定したプロパティ値と一意の ID で新しいユーザーをデータ ストアに追加し、ユーザーの作成に成功したかどうか、または失敗の理由を示すステータス パラメーターを返します。Adds a new user with specified property values and a unique identifier to the data store and returns a status parameter indicating that the user was successfully created or the reason the user creation failed.

DeleteUser(String) DeleteUser(String) DeleteUser(String) DeleteUser(String)

データベースからユーザーと関連するユーザー データを削除します。Deletes a user and any related user data from the database.

DeleteUser(String, Boolean) DeleteUser(String, Boolean) DeleteUser(String, Boolean) DeleteUser(String, Boolean)

データベースからユーザーを削除します。Deletes a user from the database.

FindUsersByEmail(String, Int32, Int32, Int32) FindUsersByEmail(String, Int32, Int32, Int32) FindUsersByEmail(String, Int32, Int32, Int32) FindUsersByEmail(String, Int32, Int32, Int32)

電子メール アドレスが指定内容と一致するメンバーシップ ユーザーのコレクションをページで取得します。Gets a collection of membership users, in a page of data, where the email address contains the specified email address to match.

FindUsersByEmail(String) FindUsersByEmail(String) FindUsersByEmail(String) FindUsersByEmail(String)

指定したメール アドレスと一致するメール アドレスを持つメンバーシップ ユーザーのコレクションを取得します。Gets a collection of membership users where the email address contains the specified email address to match.

FindUsersByName(String) FindUsersByName(String) FindUsersByName(String) FindUsersByName(String)

ユーザー名が指定内容と一致するメンバーシップ ユーザーのコレクションを取得します。Gets a collection of membership users where the user name contains the specified user name to match.

FindUsersByName(String, Int32, Int32, Int32) FindUsersByName(String, Int32, Int32, Int32) FindUsersByName(String, Int32, Int32, Int32) FindUsersByName(String, Int32, Int32, Int32)

ユーザー名が指定内容と一致するメンバーシップ ユーザーのコレクションをページで取得します。Gets a collection of membership users, in a page of data, where the user name contains the specified user name to match.

GeneratePassword(Int32, Int32) GeneratePassword(Int32, Int32) GeneratePassword(Int32, Int32) GeneratePassword(Int32, Int32)

指定した長さのランダム パスワードを生成します。Generates a random password of the specified length.

GetAllUsers() GetAllUsers() GetAllUsers() GetAllUsers()

データベース内のすべてのユーザーのコレクションを取得します。Gets a collection of all the users in the database.

GetAllUsers(Int32, Int32, Int32) GetAllUsers(Int32, Int32, Int32) GetAllUsers(Int32, Int32, Int32) GetAllUsers(Int32, Int32, Int32)

データベース内のすべてのユーザーのコレクションをページで取得します。Gets a collection of all the users in the database in pages of data.

GetNumberOfUsersOnline() GetNumberOfUsersOnline() GetNumberOfUsersOnline() GetNumberOfUsersOnline()

アプリケーションに現在アクセスしているユーザーの数を取得します。Gets the number of users currently accessing an application.

GetUser(String, Boolean) GetUser(String, Boolean) GetUser(String, Boolean) GetUser(String, Boolean)

指定したメンバーシップ ユーザーの情報をデータ ソースから取得します。Gets the information from the data source for the specified membership user. そのユーザーの最終利用日時スタンプを更新するように指定することもできます。Updates the last-activity date/time stamp for the user, if specified.

GetUser(Object, Boolean) GetUser(Object, Boolean) GetUser(Object, Boolean) GetUser(Object, Boolean)

指定した一意の ID と関連付けられているメンバーシップ ユーザーの情報をデータ ソースから取得します。Gets the information from the data source for the membership user associated with the specified unique identifier. そのユーザーの最終利用日時スタンプを更新するように指定することもできます。Updates the last-activity date/time stamp for the user, if specified.

GetUser(String) GetUser(String) GetUser(String) GetUser(String)

指定したメンバーシップ ユーザーの情報をデータ ソースから取得します。Gets the information from the data source for the specified membership user.

GetUser(Boolean) GetUser(Boolean) GetUser(Boolean) GetUser(Boolean)

現在ログオンしているメンバーシップ ユーザーの情報をデータ ソースから取得します。Gets the information from the data source for the current logged-on membership user. 現在ログオンしているメンバーシップ ユーザーの最終利用日時スタンプを更新するように指定することもできます。Updates the last-activity date/time stamp for the current logged-on membership user, if specified.

GetUser() GetUser() GetUser() GetUser()

データ ソースから情報を取得し、現在ログオンしているメンバーシップ ユーザーの最終利用日時スタンプを更新します。Gets the information from the data source and updates the last-activity date/time stamp for the current logged-on membership user.

GetUser(Object) GetUser(Object) GetUser(Object) GetUser(Object)

指定した一意の ID と関連付けられているメンバーシップ ユーザーの情報をデータ ソースから取得します。Gets the information from the data source for the membership user associated with the specified unique identifier.

GetUserNameByEmail(String) GetUserNameByEmail(String) GetUserNameByEmail(String) GetUserNameByEmail(String)

電子メール アドレスが指定内容と一致するユーザー名を取得します。Gets a user name where the email address for the user matches the specified email address.

UpdateUser(MembershipUser) UpdateUser(MembershipUser) UpdateUser(MembershipUser) UpdateUser(MembershipUser)

指定したユーザーの情報でデータベースを更新します。Updates the database with the information for the specified user.

ValidateUser(String, String) ValidateUser(String, String) ValidateUser(String, String) ValidateUser(String, String)

指定されたユーザー名とパスワードが有効かどうかを検証します。Verifies that the supplied user name and password are valid.

イベント

ValidatingPassword ValidatingPassword ValidatingPassword ValidatingPassword

ユーザーが作成されるとき、パスワードが変更されるとき、またはパスワードがリセットされるときに発生します。Occurs when a user is created, a password is changed, or a password is reset.

適用対象

こちらもご覧ください