OracleMembershipProviderクラスにより、ASP.NET開発者は、Webサイト・ユーザーのアカウント情報をOracleデータベースに格納できます。
クラスの継承
System.Object
System.Configuration.Provider.ProviderBase
System.Web.Security.MembershipProvider
Oracle.Web.Security.OracleMembershipProvider
宣言
// C# public class OracleMembershipProvider: MembershipProvider
スレッド安全性
すべてのパブリック静的メソッドはスレッドセーフですが、インスタンス・メンバーがスレッドセーフであることは保証されません。
備考
このクラスにより、ASP.NETアプリケーションは、Oracleデータベースにユーザー情報を格納し、管理できます。この章のユーザーという用語は、データベース・ユーザーではなくアプリケーションまたはユーザーを意味していることに注意してください。したがって、このプロバイダが管理するユーザー情報は、データベース・ユーザー情報ではなくアプリケーション情報またはユーザー情報です。
例
次のコード例は、OracleMembershipProviderをデフォルト・プロバイダとして使用するように構成されたASP.NETアプリケーションのweb.configファイルを示します。この構成では、machine.configファイルで指定された接続文字列とデフォルト属性値を使用します。
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
<membership defaultProvider="OracleMembershipProvider"/>
</system.web>
</configuration>
次に、OracleMembershipProviderをカスタマイズされた設定およびアプリケーション固有の接続文字列とともに使用するASP.NETアプリケーションに対するweb.configの例を示します。
<?xml version="1.0"?>
<configuration xmlns=
"http://schemas.microsoft.com/.NetConfiguration/v2.0">
<connectionStrings>
<add name="my_membership_app_con_string" connectionString=
"User Id=scott;Password=tiger;Data Source=Oracle"/>
</connectionStrings>
<system.web>
<!-- Enable and customize OracleMembershipProvider settings -->
<membership defaultProvider="MyOracleMembershipProvider">
<providers>
<add name="MyOracleMembershipProvider"
type="Oracle.Web.Security.OracleMembershipProvider,
Oracle.Web, Version=2.111.6.20, Culture=neutral,
PublicKeyToken=89b483f429c47342"
connectionStringName="my_membership_app_con_string"
applicationName="my_membership_app"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
requiresUniqueEmail="true"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="4"
minRequiredPasswordLength="9"
passwordAttemptWindow="8"/>
</providers>
</membership>
</system.web>
</configuration>
applicationName属性は、ASP.NETアプリケーションごとに一意の値に設定する必要があります。
要件
ネームスペース: Oracle.Web.Security
アセンブリ: Oracle.Web.dll
Microsoft .NET Frameworkバージョン: 2.0以降
次の表にOracleMembershipProviderメンバーをリストします。
OracleMembershipProviderコンストラクタ
OracleMembershipProviderコンストラクタを、表2-1にリストします。
表2-1 OracleMembershipProviderコンストラクタ
| コンストラクタ | 説明 |
|---|---|
|
OracleMembershipProviderコンストラクタ |
|
OracleMembershipProvider静的メソッド
OracleMembershipProvider静的メソッドを、表2-2にリストします。
表2-2 OracleMembershipProvider静的メソッド
| 静的メソッド | 説明 |
|---|---|
|
|
|
|
|
|
OracleMembershipProviderパブリック・プロパティ
OracleMembershipProviderパブリック・プロパティを、表2-3にリストします。
表2-3 OracleMembershipProviderパブリック・プロパティ
| パブリック・プロパティ | 説明 |
|---|---|
|
|
ユーザー情報のグループ化に使用されるアプリケーションの名前を取得または設定します |
|
|
コマンドが例外で実行を終了するまでに実行可能な秒数を取得します |
|
|
|
|
|
パスワードのリセットをユーザーに許可するようにメンバーシップ・プロバイダが構成されているかどうかを示します |
|
|
パスワードの取得をユーザーに許可するようにメンバーシップ・プロバイダが構成されているかどうかを示します |
|
|
ユーザーがロックされるまでに許可される無効なパスワードまたはパスワードに対する無効な回答の試行回数を取得します |
|
MinRequiredNonAlphanumericCharacters |
有効なパスワードに存在する必要のある特殊文字の最小数を取得します |
|
|
パスワードに必要な最小の長さを取得します |
|
|
|
|
|
ユーザーがロックされるまでに無効なパスワードまたはパスワードに対する無効な回答の最大試行回数が許可される時間(分)を取得します |
|
|
メンバーシップ・データ・ソースにパスワードを格納するための形式を示す値を取得します |
|
PasswordStrengthRegularExpression |
パスワードの評価に使用される正規表現を取得します |
|
|
ユーザーがパスワードをリセットおよび取得する場合にパスワードに対する質問に回答することを要求するような方法でメンバーシップ・プロバイダが構成されているかどうかを示す値を取得します |
|
|
各ユーザー名の一意の電子メール・アドレスを要求するようにメンバーシップ・プロバイダが構成されているかどうかを示す値を取得します |
OracleMembershipProviderパブリック・メソッド
OracleMembershipProviderパブリック・メソッドを、表2-4にリストします。
表2-4 OracleMembershipProviderパブリック・メソッド
| パブリック・メソッド | 説明 |
|---|---|
|
|
ユーザーのパスワードを更新します |
|
ChangePasswordQuestionAndAnswer |
ユーザーのパスワードに対する質問および回答を更新します |
|
|
データベースに新しいユーザーを追加します |
|
|
データベースからユーザーを削除します |
|
|
|
|
|
指定された電子メール・アドレスに一致する電子メール・アドレスを持つユーザーのコレクションを戻します |
|
|
指定されたユーザー名に一致するユーザーのコレクションを戻します |
|
|
少なくとも14文字の長さのランダム・パスワードを生成します |
|
|
データベース内のすべてのユーザーのコレクションを戻します |
|
|
|
|
|
アプリケーションに現在アクセスしているユーザー数を戻します |
|
|
指定されたユーザー名のパスワードをデータベースから戻します |
|
|
|
|
|
ユーザーの一意識別子に基づいてデータベースからユーザー情報を戻します(オーバーロード) |
|
|
指定された電子メール・アドレスに関連付けられているユーザー名を戻します |
|
|
ASP.NETアプリケーション構成ファイル( |
|
|
ユーザーのパスワードをリセットし、自動的に生成された新しいパスワードを戻します |
|
|
|
|
|
ユーザーをロック解除してユーザーを検証できるようにします |
|
|
データベース内のユーザーに関する情報を更新します |
|
|
ユーザーを検証します |
OracleMembershipProviderパブリック・イベント
OracleMembershipProviderパブリック・イベントを、表2-5にリストします。
表2-5 OracleMembershipProviderパブリック・イベント
| パブリック・イベント | 説明 |
|---|---|
|
|
|
このコンストラクタでは、OracleMembershipProviderクラスの新規インスタンスがインスタンス化されます。
オーバーロード・リスト:
このコンストラクタでは、OracleMembershipProviderクラスのインスタンスが作成されます。
このコンストラクタでは、OracleMembershipProviderクラスの新規インスタンスがインスタンス化されます。
宣言
// C# public OracleMembershipProvider();
備考
ASP.NETは、OracleMembershipProviderコンストラクタを呼び出して、アプリケーションの構成で指定されたとおりにOracleMembershipProviderクラスのインスタンスを作成します。OracleMembershipProviderオブジェクトの初期化値は、Initializeメソッドを通じて渡されます。
このコンストラクタは、アプリケーションで直接使用されることを意図していません。
OracleMembershipProvider静的メソッドを、表2-6にリストします。
表2-6 OracleMembershipProvider静的メソッド
| 静的メソッド | 説明 |
|---|---|
|
|
|
|
|
|
OracleMembershipProviderパブリック・プロパティを、表2-7にリストします。
表2-7 OracleMembershipProviderパブリック・プロパティ
| パブリック・プロパティ | 説明 |
|---|---|
|
|
ユーザー情報のグループ化に使用されるアプリケーションの名前を取得または設定します |
|
|
コマンドが例外で実行を終了するまでに実行可能な秒数を取得します |
|
|
|
|
|
パスワードのリセットをユーザーに許可するようにメンバーシップ・プロバイダが構成されているかどうかを示します |
|
|
パスワードの取得をユーザーに許可するようにメンバーシップ・プロバイダが構成されているかどうかを示します |
|
|
ユーザーがロックされるまでに許可される無効なパスワードまたはパスワードに対する無効な回答の試行回数を取得します |
|
MinRequiredNonAlphanumericCharacters |
有効なパスワードに存在する必要のある特殊文字の最小数を取得します |
|
|
パスワードに必要な最小の長さを取得します |
|
|
|
|
|
ユーザーがロックされるまでに無効なパスワードまたはパスワードに対する無効な回答の最大試行回数が許可される時間(分)を取得します |
|
|
メンバーシップ・データ・ソースにパスワードを格納するための形式を示す値を取得します |
|
PasswordStrengthRegularExpression |
パスワードの評価に使用される正規表現を取得します |
|
|
ユーザーがパスワードをリセットおよび取得する場合にパスワードに対する質問に回答することを要求するような方法でメンバーシップ・プロバイダが構成されているかどうかを示す値を取得します |
|
|
各ユーザー名の一意の電子メール・アドレスを要求するようにメンバーシップ・プロバイダが構成されているかどうかを示す値を取得します |
このプロパティでは、ユーザー情報のグループ化に使用されるアプリケーションの名前を取得または設定します。
宣言
// C#
public override string ApplicationName{get; set;}
プロパティ値
アプリケーションの名前。applicationName属性がアプリケーション構成ファイルで指定されていない場合、または値が空の文字列の場合は、このプロパティがアプリケーションの仮想パスに設定されます。
例外
ArgumentException - 指定されたアプリケーション名が空の文字列またはnull参照です。
ProviderException - 指定されたアプリケーション名が256文字を超えています。
備考
ApplicationNameプロパティの文字列値は、ユーザー情報の編成に使用されます。ユーザー情報はアプリケーション名ごとに一意に格納されるため、複数のASP.NETアプリケーションが、同じデータベースを使用したり、重複するユーザー名を作成したりできます。このプロパティは、プログラムで設定するか、Webアプリケーション構成ファイルでapplicationName属性を使用して宣言で設定できます。構成ファイル内の属性名は、大文字と小文字が区別されます。
ApplicationNameプロパティはスレッドセーフではありません。プログラミング・コードでは、ユーザーにWebアプリケーションでのApplicationNameプロパティの設定を許可しないことをお薦めします。
このプロパティは、コマンドが例外で実行を終了するまでに実行可能な秒数を取得します。
宣言
// C#
public int CommandTimeout {get;}
プロパティ値
int
備考
プロバイダをカスタマイズするために、ASP.NET開発者は、commandTimeout属性を使用してweb.configファイルでこのプロパティに整数値を設定できます。
デフォルト値は30秒です。構成ファイル内の属性名は、大文字と小文字が区別されます。
このプロパティは、パスワードのリセットをユーザーに許可するようにメンバーシップ・プロバイダが構成されているかどうかを示します。
宣言
// C#
public override bool EnablePasswordReset{get;}
プロパティ値
メンバーシップ・プロバイダがパスワードのリセットをサポートする場合はtrueを戻し、それ以外の場合はfalseを戻します。デフォルトはtrueです。
備考
メンバーシップ・プロバイダをカスタマイズするために、ASP.NET開発者は、enablePasswordReset属性を使用してweb.configファイルでこのプロパティにブール値を指定できます。値は、ユーザーがResetPasswordメソッドを使用して、現在のパスワードをランダムに生成された新しいパスワードで上書きできるかどうかを示します。構成ファイルの属性名は、大文字と小文字が区別されます。
このプロパティは、パスワードの取得をユーザーに許可するようにメンバーシップ・プロバイダが構成されているかどうかを示します。
宣言
// C#
public override bool EnablePasswordRetrieval{get;}
プロパティ値
メンバーシップ・プロバイダがパスワードの取得をサポートするように構成されている場合はtrueを戻し、それ以外の場合はfalseを戻します。デフォルトはfalseです。
備考
メンバーシップ・プロバイダをカスタマイズするために、ASP.NET開発者は、enablePasswordRetrieval属性を使用してweb.configファイルでこのプロパティにブール値を設定できます。値は、ユーザーがGetPasswordメソッドを使用してデータベースから現在のパスワードを取得できるかどうかを示します。構成ファイルの属性名は、大文字と小文字が区別されます。
カスタム・メンバーシップ・プロバイダがハッシュされたパスワードをサポートする場合、GetPasswordメソッドは、EnablePasswordRetrievalプロパティがtrueで、パスワード形式がHashedに設定されている場合に例外を戻します。つまり、ハッシュされたパスワードは取得できません。
このプロパティでは、ユーザーがロックされるまでに許可される無効なパスワードまたはパスワードに対する無効な回答の試行回数を取得します。
宣言
// C#
public override int MaxInvalidPasswordAttempts{get;}
プロパティ値
ユーザーがロックされるまでに許可される無効なパスワードまたはパスワードに対する無効な回答の試行回数。デフォルトの試行回数は5です。
備考
メンバーシップ・プロバイダをカスタマイズするために、ASP.NET開発者は、maxInvalidPasswordAttempts属性を使用してweb.configファイルでこのプロパティに整数値を設定できます。構成ファイルの属性名は、大文字と小文字が区別されます。
MaxInvalidPasswordAttemptsプロパティは、PasswordAttemptWindowプロパティと連動します。PasswordAttemptWindowプロパティ値(分単位)内の無効なパスワードまたはパスワードに対する無効な質問の入力回数がMaxInvalidPasswordAttemptsプロパティ値以上の場合は、UnlockUserメソッドによってロック解除されるまでユーザーがロックされます。MaxInvalidPasswordAttempts値に達する前に、有効なパスワードまたはパスワードに対する有効な回答が入力された場合は、無効な試行回数を追跡するカウンタがゼロにリセットされます。
無効なパスワードおよびパスワードに対する無効な回答の試行は個別に累積されます。たとえば、MaxInvalidPasswordAttemptsプロパティが10に設定されていて、6回の無効なパスワード試行に続いてパスワードに対する無効な回答が3回試行された場合、ユーザーがロックされるには、PasswordAttemptWindow内であと4回の無効なパスワード試行または7回のパスワードに対する無効な回答試行が行われる必要があります。
RequiresQuestionAndAnswerプロパティがfalseに設定されている場合は、パスワードに対する無効な回答の試行が追跡されません。
無効なパスワードの試行およびパスワードに対する無効な回答の試行は、ValidateUser、ChangePassword、ChangePasswordQuestionAndAnswer、GetPassword、ResetPasswordの各メソッドで追跡されます。
このプロパティでは、有効なパスワードに存在する必要のある特殊文字の最小数を取得します。
宣言
// C# public override int MinRequiredNonAlphanumericCharacters(get;}
プロパティ値
有効なパスワードに存在する必要のある特殊文字の最小数。デフォルト値は1です。
備考
メンバーシップ・プロバイダをカスタマイズするために、ASP.NET開発者は、minRequiredNonalphanumericCharacters属性を使用してweb.configファイルでこのプロパティに整数値を設定できます。構成ファイルの属性名は、大文字と小文字が区別されます。
MinRequiredNonAlphanumericCharactersプロパティは、OracleMembershipProviderオブジェクトの有効なパスワードを作成するために入力する必要のある特殊文字(英数字以外)の最小数を戻します。
このプロパティでは、パスワードに必要な最小の長さを取得します。
宣言
// C#
public override int MinRequiredPasswordLength{get;}
プロパティ値
パスワードに必要な最小の長さ。デフォルト値は7です。
備考
メンバーシップ・プロバイダをカスタマイズするために、ASP.NET開発者は、minRequiredPasswordLength属性を使用してweb.configファイルでこのプロパティに整数値を設定できます。構成ファイルの属性名は、大文字と小文字が区別されます。
minRequiredPasswordLengthプロパティは、OracleMembershipProviderオブジェクトの有効なパスワードを作成するために入力する必要のある最小限の文字数を取得します。
このプロパティでは、ユーザーがロックされるまでに無効なパスワードまたはパスワードに対する無効な回答の最大試行回数が許可される時間(分単位)を取得します。
宣言
// C#
public override int PasswordAttemptWindow{get;}
プロパティ値
ユーザーがロックされるまでに無効なパスワードまたはパスワードに対する無効な回答の最大試行回数が許可される時間(分単位)。デフォルト値は10です。
備考
メンバーシップ・プロバイダをカスタマイズするために、ASP.NET開発者は、passwordAttemptWindow属性を使用してweb.configファイルでこのプロパティに整数値を設定できます。構成ファイルの属性名は、大文字と小文字が区別されます。
PasswordAttemptWindowプロパティはMaxInvalidPasswordAttemptsプロパティと連動します。PasswordAttemptWindowプロパティ値(分単位)内の無効なパスワードまたはパスワードに対する無効な質問の入力回数がMaxInvalidPasswordAttemptsプロパティ以上の場合は、UnlockUserメソッドによってロック解除されるまでユーザーがロックされます。MaxInvalidPasswordAttempts値に達する前に、有効なパスワードまたはパスワードに対する有効な回答が入力された場合は、無効な試行回数を追跡するカウンタがゼロにリセットされます。
無効なパスワードおよびパスワードに対する無効な回答の試行は個別に累積されます。たとえば、MaxInvalidPasswordAttemptsプロパティが10に設定されていて、6回の無効なパスワード試行に続いてパスワードに対する無効な回答が3回試行された場合、ユーザーがロックされるには、PasswordAttemptWindow値内であと4回の無効なパスワードの試行または7回のパスワードに対する無効な回答試行が行われる必要があります。
RequiresQuestionAndAnswerプロパティがfalseに設定されている場合は、パスワードに対する無効な回答の試行が追跡されません。
無効なパスワードの試行およびパスワードに対する無効な回答の試行は、ValidateUser、ChangePassword、ChangePasswordQuestionAndAnswer、GetPassword、ResetPasswordの各メソッドで追跡されます。
このプロパティでは、メンバーシップ・データ・ソースにパスワードを格納するための形式を示す値を取得します。
宣言
// C#
public override MembershipPasswordFormat PasswordFormat{get;}
プロパティ値
データ・ソース内のパスワードの格納形式。形式は、Clear、Hashed、Encryptedなど、いずれかのMembershipPasswordFormat値にできます。デフォルト値はHashedです。
備考
メンバーシップ・プロバイダをカスタマイズするために、ASP.NET開発者は、passwordFormat属性を使用してweb.configファイルでこのプロパティにMembershipPasswordFormat列挙値を指定できます。構成ファイルの属性名は、大文字と小文字が区別されます。
PasswordFormatプロパティは、パスワードがClear、Encrypted、Hashedのいずれかの形式で格納されることを示します。形式名は大文字と小文字が区別されます。たとえば、Clearは有効ですが、clearは無効です。
このプロパティでは、パスワードの評価に使用される正規表現を取得します。
宣言
// C#
public override string PasswordStrengthRegularExpression{get;}
プロパティ値
パスワードの評価に使用される正規表現。デフォルトは空の文字列です。
備考
メンバーシップ・プロバイダをカスタマイズするために、ASP.NET開発者は、passwordStrengthRegularExpression属性を使用してweb.configファイルでこのプロパティに文字列値を設定できます。構成ファイルの属性名は、大文字と小文字が区別されます。
PasswordStrengthRegularExpressionプロパティは、パスワードの評価基準として正規表現を取得します。パスワードが基準を満たさない場合は、メンバーシップ・プロバイダによって受け入れられません。
次に例を示します。
passwordStrengthRegularExpression="(?=.{7,})(?=(.*\d){1,})(?=(.*\W){1,}"
前の例のコードは、次の基準に照らしてパスワードを検証します。
少なくとも7文字があります。
少なくとも1つの数字が含まれます。
少なくとも1つの特殊(英数字以外)文字が含まれます。
passwordStrengthRegularExpressionで定義されている最小限のパスワード長は、minRequiredPasswordLength属性の値以上である必要があります。
passwordStrengthRegularExpression属性で定義されている特殊(英数字以外)文字の最小数は、minRequiredNonalphanumericCharacters属性の値以上である必要があります。
passwordStrengthRegularExpression属性は、ResetPasswordメソッドから自動的に生成されたパスワードでは使用されません。
このプロパティでは、ユーザーがパスワードをリセットおよび取得する場合にパスワードに対する質問に回答することを要求するような方法でメンバーシップ・プロバイダが構成されているかどうかを示す値を取得します。
宣言
// C#
public override bool RequiresQuestionAndAnswer{get;}
プロパティ値
パスワードのリセットおよび取得に対してパスワードに対する回答が必要な場合はtrueを戻し、それ以外の場合はfalseを戻します。デフォルト値はtrueです。
備考
メンバーシップ・プロバイダをカスタマイズするために、ASP.NET開発者は、requiresQuestionAndAnswer属性を使用してweb.configファイルでこのプロパティにブール値を設定できます。値は、ユーザーがGetPasswordメソッドを使用してパスワードを取得またはResetPasswordメソッドを使用してパスワードをリセットするために、パスワードに対する回答を入力する必要があるかどうかを示します。構成ファイルの属性名は、大文字と小文字が区別されます。
このプロパティでは、各ユーザー名の一意の電子メール・アドレスを要求するようにメンバーシップ・プロバイダが構成されているかどうかを示す値を取得します。
宣言
// C#
public override bool RequiresUniqueEmail{get;}
プロパティ値
メンバーシップ・プロバイダが一意の電子メール・アドレスを必要とする場合はtrueを戻し、それ以外の場合はfalseを戻します。デフォルト値はfalseです。
備考
メンバーシップ・プロバイダをカスタマイズするために、ASP.NET開発者は、requiresUniqueEmail属性を使用してweb.configファイルでRequiresUniqueEmailプロパティにブール値を指定できます。構成ファイルの属性名は、大文字と小文字が区別されます。
OracleMembershipProviderパブリック・メソッドを、表2-8にリストします。
表2-8 OracleMembershipProviderパブリック・メソッド
| パブリック・メソッド | 説明 |
|---|---|
|
|
ユーザーのパスワードを更新します |
|
ChangePasswordQuestionAndAnswer |
ユーザーのパスワードに対する質問および回答を更新します |
|
|
データベースに新しいユーザーを追加します |
|
|
データベースからユーザーを削除します |
|
|
|
|
|
指定された電子メール・アドレスに一致する電子メール・アドレスを持つユーザーのコレクションを戻します |
|
|
指定されたユーザー名に一致するユーザーのコレクションを戻します |
|
|
少なくとも14文字の長さのランダム・パスワードを生成します |
|
|
データベース内のすべてのユーザーのコレクションを戻します |
|
|
|
|
|
アプリケーションに現在アクセスしているユーザー数を戻します |
|
|
指定されたユーザー名のパスワードをデータベースから戻します |
|
|
|
|
|
ユーザーの一意識別子に基づいてデータベースからユーザー情報を戻します(オーバーロード) |
|
|
指定された電子メール・アドレスに関連付けられているユーザー名を戻します |
|
|
ASP.NETアプリケーション構成ファイル( |
|
|
ユーザーのパスワードをリセットし、自動的に生成された新しいパスワードを戻します |
|
|
|
|
|
ユーザーをロック解除してユーザーを検証できるようにします |
|
|
データベース内のユーザーに関する情報を更新します |
|
|
ユーザーを検証します |
このメソッドは、ユーザーのパスワードを更新します。
宣言
// C# public override bool ChangePassword(string userName, string oldPassword, string newPassword);
パラメータ
userName
パスワードを更新する対象のユーザー。
oldPassword
指定されたユーザーの現在のパスワード。
newPassword
指定されたユーザーの新しいパスワード。
戻り値
パスワードが正常に更新された場合はtrueを戻し、それ以外の場合はfalseを戻します。
例外
ArgumentNullException - userName、oldPasswordまたはnewPasswordパラメータがnullです。
System.Web.Security.MembershipPasswordException - userNameがメンバーシップ・データベースに見つかりませんでした。
System.Configuration.Provider.ProviderException - データベースに新しいパスワードを設定しているときにエラーが発生しました。
例外 - 処理されない例外が発生しました。
ArgumentException - 次のいずれかの条件が存在します。
userNameパラメータが空の文字列であるか、カンマが含まれているか、256文字を超えています。
oldPasswordパラメータが空の文字列であるか、128文字を超えています。
newPasswordパラメータが、空の文字列である、128文字(エンコードされたバージョンを含む)より長い、MinRequiredPasswordLengthプロパティの値より小さい、英数字文字以外の文字数がMinRequiredNonAlphanumericCharactersプロパティの値より少ない、PasswordStrengthRegularExpressionプロパティで定義された正規表現と一致しない、のいずれかです。
パスワード変更操作がValidatingPasswordイベントのサブスクライバによって取り消され、FailureInformationプロパティがnull参照でした。
備考
ChangePasswordメソッドは、指定されたユーザー名とパスワードが有効で、パスワードが正しく更新された場合にtrueを戻します。それ以外の場合はfalseを戻します。
このメソッドは、ユーザーのパスワードに対する質問と回答を更新します。
宣言
// C# public override bool ChangePasswordQuestionAndAnswer(string userName, string password, string newPasswordQuestion, string newPasswordAnswer);
パラメータ
userName
パスワードに対する質問と回答が変更される対象のユーザー。
password
指定されたユーザーのパスワード。
newPasswordQuestion
指定されたユーザーのパスワードに対する新しい質問。
newPasswordAnswer
指定されたユーザーのパスワードに対する新しい回答。
戻り値
パスワードに対する質問と回答が正常に更新された場合はtrueを戻し、それ以外の場合はfalseを戻します。
例外
ArgumentException - 次のいずれかの条件が存在します。
userNameパラメータが空の文字列であるか、カンマが含まれているか、256文字を超えています。
passwordパラメータが空の文字列であるか、128文字を超えています。
newPasswordQuestionパラメータが空の文字列であるか、256文字を超えています。
newPasswordAnswerパラメータが空の文字列であるか、128文字(エンコードされたバージョンを含む)を超えています。
備考
指定されたユーザー名とパスワードが有効で、パスワードに対する質問と回答が正常に更新された場合、このメソッドはtrueを戻します。それ以外の場合はfalseを戻します。
このメソッドは、データベースに新しいユーザーを追加します。
宣言
// C# public override MembershipUser CreateUser(string userName, string password, string emailAddress, string passwordQuestion, string passwordAnswer, bool isApproved, Object providerUserKey, out MembershipCreateStatus status);
パラメータ
userName
新しいユーザーのユーザー名。
password
新しいユーザーのパスワード。
emailAddress
新しいユーザーの電子メール・アドレス。
passwordQuestion
新しいユーザーのパスワードに対する質問。
passwordAnswer
新しいユーザーのパスワードに対する回答。
isApproved
新しいユーザーが検証を承認されるかどうかを示すブール値。
providerUserKey
データベースから取得される新しいユーザーの一意識別子。
status
ユーザーが正常に作成されたかどうかを示すMembershipCreateStatus列挙値。
戻り値
新規に作成されたユーザーの情報が移入されるMembershipUserオブジェクト。
備考
このメソッドは、新規に作成されたユーザーの情報が移入されたMembershipUserオブジェクトを戻します。statusパラメータは、ユーザーが正常に作成されたかどうかを示すMembershipCreateStatus値を戻します。CreateUserメソッドに失敗した場合、MembershipCreateStatusメンバーは失敗の原因を示します。
MembershipCreateStatus列挙
MembershipCreateStatus列挙値を、表2-9にリストします。
表2-9 MembershipCreateStatus列挙値
| メンバー名 | 説明 |
|---|---|
|
|
アプリケーションの電子メール・アドレスがすでにデータベースに存在します。 |
|
|
アプリケーションのプロバイダ・ユーザー・キーがすでにデータベースに存在します。 |
|
|
アプリケーションのユーザー名がすでにデータベースに存在します。 |
|
|
パスワードに対する回答が正しい形式ではありません。 |
|
|
電子メール・アドレスが正しい形式ではありません。 |
|
|
パスワードが正しい形式ではありません。 |
|
|
プロバイダ・ユーザー・キーが無効なタイプまたは形式です。 |
|
|
パスワードに対する質問が正しい形式ではありません。 |
|
|
ユーザー名がデータベースに見つかりませんでした。 |
|
|
プロバイダにより、他の |
|
|
ユーザーが正常に作成されました。 |
|
|
プロバイダ定義の理由により、ユーザーが作成されませんでした。 |
このメソッドは、データベースからユーザーを削除します。
宣言
// C# public override bool DeleteUser(string userName, bool deleteAllRelatedData);
パラメータ
userName
削除するユーザーの名前。
deleteAllRelatedData
ユーザーに関連するすべてのデータをデータベースから削除するかどうかを示すブール値。
戻り値
ユーザーが正常に削除された場合はtrueを戻し、それ以外の場合、またはユーザーがデータベースに存在しない場合はfalseを戻します。
例外
ArgumentException - userNameパラメータが空の文字列であるか、カンマを含むか、256文字を超えています。
ArgumentNullException - userNameパラメータがnull参照です。
備考
先頭および末尾の空白はuserNameパラメータ値から削除されます。deleteAllRelatedDataがtrueの場合は、ユーザーがOracleメンバーシップ・データベースに存在しない場合でも、ロール、プロファイルおよびパーソナライズに関するデータなど、データベース内のユーザーに関連するデータもすべて削除されます。
このメソッドは、指定された電子メール・アドレスに一致する電子メール・アドレスを持つユーザーのコレクションを戻します。
宣言
// C# public override MembershipUserCollection FindUsersByEmail(string emailToMatch, int pageIndex, int pageSize, out int totalRecords);
パラメータ
emailToMatch
検索する電子メール・アドレス。
pageIndex
戻す結果のページの索引。PageIndexはゼロベースです。
pageSize
戻す結果のページ・サイズ。
totalRecords
一致するユーザーの総数。
戻り値
MembershipUserオブジェクトを含むMembershipUserCollectionオブジェクトを戻します。
例外
ArgumentException - 次のいずれかの条件が存在します。
emailToMatchパラメータが空の文字列であるか、256文字を超えています。
pageIndexパラメータが0未満です。
pageSizeパラメータが1未満であるか、ページ上限がInt32.MaxValueを超えています。
ArgumentNullException - emailToMatch、pageIndex、pageSizeまたはtotalRecordsパラメータがnullです。
備考
先頭および末尾の空白はemailToMatchパラメータ値から削除されます。FindUsersByEmailメソッドから戻される結果は、pageIndexパラメータとpageSizeパラメータによって制約されます。pageSizeパラメータは、MembershipUserCollectionオブジェクトで戻すMembershipUserオブジェクトの最大数を示します。pageIndexパラメータは、結果のどのページを戻すかを示します。値はゼロベースであるため、ゼロは最初のページを示します。totalRecordsパラメータは、emailToMatch値に一致したユーザーの総数を表す出力パラメータです。
OracleMembershipProviderクラスは、パーセント文字(%)をワイルドカードとして受け入れることにより、拡張検索をサポートします。
このメソッドは、指定されたユーザー名に一致するユーザーのコレクションを戻します。
宣言
// C# public override MembershipUserCollection FindUsersByEmail(string userNameToMatch, int pageIndex, int pageSize, out int totalRecords);
パラメータ
userNameToMatch
検索するユーザー名。
pageIndex
戻される結果ページのゼロベース索引。
pageSize
戻される結果ページのサイズ。
totalRecords
一致するユーザーの総数。
戻り値
MembershipUserオブジェクトを含むMembershipUserCollectionオブジェクトを戻します。
例外
ArgumentException - 次のいずれかの条件が存在します。
userNameToMatchパラメータが空の文字列であるか、カンマが含まれているか、256文字を超えています。
pageIndexパラメータが0未満です。
pageSizeパラメータが1未満であるか、ページ上限がInt32.MaxValueを超えています。
|
注意: ページ下限は(pageIndex * pageSize)であり、ページ上限は(pageIndex *pageSize)+(pageSize - 1)です。 |
ArgumentNullException - userNameToMatch、pageIndex、pageSizeまたはtotalRecordsパラメータがnullです。
備考
先頭および末尾の空白はuserNameToMatchパラメータ値から削除されます。
FindUsersByNameメソッドから戻される結果は、pageIndexパラメータとpageSizeパラメータによって制約されます。pageSizeパラメータは、MembershipUserCollectionオブジェクトで戻すMembershipUserオブジェクトの最大数を示します。pageIndexパラメータは、結果のどのページを戻すかを示します。値はゼロベースであるため、ゼロは最初のページを示します。totalRecordsパラメータは、userNameToMatch値に一致したユーザーの総数を表す出力パラメータです。
OracleMembershipProviderクラスは、パーセント文字(%)をワイルドカードとして受け入れることにより、拡張検索をサポートします。
このメソッドは、長さが14文字以上のランダム・パスワードを生成します。
宣言
// C# public virtual string GeneratePassword( );
戻り値
長さが14文字以上のパスワードのランダムな文字列。
備考
OracleMembershipProviderオブジェクトは、GeneratePasswordメソッドを呼び出して、14文字以上、128文字未満の長さのランダムに生成されたパスワードを取得します。
生成されたパスワードには、英数字と!@#$%^&*()_-+=[{]};:<>|./?の記号のみ含まれています。隠し文字や印刷不能な制御文字は、生成されたパスワードに含まれていません。
MinRequiredPasswordLengthプロパティに対して指定された値が14より大きい場合、GeneratePasswordプロパティから戻されるパスワードの長さは、MinRequiredPasswordLengthプロパティの値です。それ以外の場合、長さは14文字です。
GeneratePasswordメソッドによって生成されたランダム・パスワードは、PasswordStrengthRegularExpressionプロパティの正規表現を渡すことが保証されていません。ただし、ランダム・パスワードは、MinRequiredPasswordLengthおよびMinRequiredNonAlphanumericCharactersプロパティで設定された基準を満たします。
このメソッドは、データベース内のすべてのユーザーのコレクションを戻します。
宣言
// C# public override MembershipUserCollection GetAllUsers(int pageIndex, int pageSize, out int totalRecords);
パラメータ
pageIndex
戻す結果のページのゼロベース索引。
pageSize
戻す結果のページ・サイズ。
totalRecords
ユーザーの総数。
戻り値
MembershipUserオブジェクトを含むMembershipUserCollectionオブジェクト。
例外
ArgumentException - pageIndexパラメータが0未満です。または、pageSizeパラメータが1未満であるか、ページ上限がInt32.MaxValueを超えています。
|
注意: ページ下限は(pageIndex * pageSize)であり、ページ上限は(pageIndex *pageSize)+(pageSize - 1)です。 |
ArgumentNullException - pageIndex、pageSizeまたはtotalRecordsパラメータがnullです。
備考
GetAllUsersメソッドから戻される結果は、pageIndexパラメータとpageSizeパラメータによって制約されます。pageSizeパラメータは、MembershipUserCollectionオブジェクトで戻すMembershipUserオブジェクトの最大数を示します。pageIndexパラメータは、結果のどのページを戻すかを示します。値はゼロベースであるため、ゼロは最初のページを示します。totalRecordsパラメータは、構成されたapplicationNameのユーザーの総数を表す出力パラメータです。
このメソッドは、アプリケーションに現在アクセスしているユーザー数を戻します。
宣言
// C# public override int GeNumberOfUsersOnline();
戻り値
アプリケーションに現在アクセスしているユーザー総数を示す整数値。
備考
GetNumberOfUsersOnlineメソッドは、現在のアプリケーションのユーザーのうち、最後のアクティビティ日時が現在の日時からMembership.UserIsOnlineTimeWindowプロパティの値(分単位)を引いた値より大きいユーザーの数を戻します。
カウントには、構成されたapplicationNameに関連付けられているユーザーのみ含まれます。
このメソッドは、指定されたユーザー名のパスワードをデータベースから戻します。
宣言
// C# public override string GetPassword(string userName, string passwordAnswer);
パラメータ
userName
パスワードを取得する対象のユーザー。
passwordAnswer
ユーザーのパスワードに対する回答。
戻り値
指定したユーザー名のパスワード文字列。
例外
ArgumentNullException - userNameパラメータがnullであるか、RequiresQuestionAndAnswerプロパティがtrueのときにpasswordAnswerパラメータがnullです。
System.Web.Security.MembershipPasswordException - passwordAnswerパラメータが無効であるか、userNameで識別されるユーザーがロックされています。
System.Configuration.Provider.ProviderException - userNameパラメータがメンバーシップ・データベースに見つからないか、メンバーシップ・データベースからパスワードを取得するときにエラーが発生しました。
NotSupportedException - EnablePasswordRetrievalプロパティがfalseに設定されています。
ArgumentException - 次のいずれかの条件が存在します。
userNameパラメータが空の文字列であるか、カンマが含まれているか、256文字を超えています。
passwordAnswerパラメータが空の文字列であり、RequiresQuestionAndAnswerプロパティがtrueです。または、passwordAnswerパラメータが128文字(エンコードされたバージョンを含む)を超えています。
備考
先頭および末尾の空白はuserNameパラメータ値とpasswordAnswerパラメータ値から削除されます。
GetPasswordメソッドは、EnablePasswordRetrievalプロパティがtrueに設定されていることを必要とします。ただし、PasswordFormatプロパティがHashedに設定されている場合は、プロバイダの初期化時にProviderExceptionがスローされます。つまり、GetPasswordメソッドは、Hashedパスワードを取得できません。デフォルトでは、EnablePasswordRetrievalプロパティはfalseに設定されます。
RequiresQuestionAndAnswerプロパティがtrueに設定され、GetPasswordメソッドに対してパスワードに対する不正な回答が指定された場合は、パスワードに対する無効な回答の試行を追跡する内部カウンタが1つ増やされます。これにより、ユーザーがロックされ、UnlockUserメソッドの呼び出しによってロック・ステータスがクリアされるまでログオンできなくなることがあります。パスワードに対する正しい回答が指定され、ユーザーが現在ロックされていない場合は、パスワードに対する無効な回答の試行を追跡する内部カウンタがゼロにリセットされます。
このメソッドは、ユーザーの一意識別子に基づいて、ユーザー情報をデータベースから戻します。
オーバーロード・リスト:
このメソッドは、指定された一意識別子に基づいて、ユーザー情報をデータベースから戻します。
このメソッドは、指定されたユーザー名に基づいて、ユーザー情報をデータベースから戻します。
このメソッドは、指定された一意識別子に基づいて、ユーザー情報をデータベースから戻します。
宣言
// C# public override MembershipUser GetUser(Object providerUserKey, bool userIsOnline);
パラメータ
providerUserKey
情報が取得される対象のユーザーの一意識別子。
userIsOnline
メソッドがユーザーの最後のアクティビティの日時スタンプを更新するかどうかを示すブール値。値がtrueに設定されている場合は、更新されます。それ以外の場合、メソッドは最後のアクティビティの日時スタンプを更新しないでユーザー情報を戻します。
戻り値
指定されたユーザーの情報がデータベースから移入されるMembershipUserオブジェクト。
例外
ArgumentException - providerUserKeyパラメータがGUID型ではありません。
ArgumentNullException - providerUserKeyパラメータがnullです。
備考
GetUserメソッドは、ユーザーの最後のアクティビティ日時スタンプを更新するオプションを提供します。
GetUserメソッドは、指定されたユーザーに関する情報が移入されたMembershipUserオブジェクトを戻します。ユーザー名がデータベースに見つからない場合、GetUserメソッドはnull参照を戻します。
このメソッドは、指定されたユーザー名に基づいて、ユーザー情報をデータベースから戻します。
宣言
// C# public override MembershipUser GetUser(string userName, bool userIsOnline);
パラメータ
userName
情報を取得する対象のユーザーの名前。
userIsOnline
メソッドがユーザーの最後のアクティビティの日時スタンプを更新するかどうかを示すブール値。値がtrueに設定されている場合は、更新されます。それ以外の場合、メソッドは最後のアクティビティの日時スタンプを更新しないでユーザー情報を戻します。
戻り値
指定されたユーザーの情報がデータベースから移入されるMembershipUserオブジェクト。
例外
ArgumentException - userNameパラメータが空の文字列であるか、カンマを含むか、256文字を超えています。
ArgumentNullException - userNameパラメータがnullです。
備考
GetUserメソッドは、ユーザーの最後のアクティビティ日時スタンプを更新するオプションを提供します。
GetUserメソッドは、指定されたユーザーに関する情報が移入されたMembershipUserオブジェクトを戻します。ユーザー名がデータベースに見つからない場合、GetUserメソッドはnull参照を戻します。
このメソッドは、指定された電子メール・アドレスに関連付けられているユーザー名を戻します。
宣言
// C#
public override string GetUserNameByEmail(string emailAddress);
パラメータ
emailAddress
検索する電子メール・アドレス。
戻り値
指定された電子メール・アドレスに関連付けられているユーザー名。一致が見つからない場合は、null参照が戻されます。
例外
ArgumentException - 電子メール・アドレスが256文字を超えています。
System.Configuration.Provider.ProviderException - 同じ電子メール・アドレスを持つ複数のユーザーがデータベースに存在し、RequiresUniqueEmailプロパティがtrueです。
備考
RequiresUniqueEmailプロパティの値がtrueの場合は、一意の電子メール・アドレスが各ユーザー名に関連付けられている必要があります。
このメソッドは、OracleMembershipプロバイダを、ASP.NETアプリケーション構成ファイル(web.config)で指定されたプロパティ値で初期化します。
宣言
// C# public override void Initialize(string name, NameValueCollection config);
パラメータ
name
初期化するOracleMembershipプロバイダ・インスタンスの名前。
config
このプロバイダの構成で指定されているプロバイダ固有属性を表す名前/値のペアのコレクション。
例外
ArgumentNullException - configパラメータがnull値です。
InvalidOperationException - プロバイダが初期化された後に、そのプロバイダに対してInitializeメソッドを呼び出そうとしました。
HttpException - 現在の信頼レベルが「低」未満です。
System.Configuration.Provider.ProviderException - 次のいずれかがアプリケーション構成ファイルに当てはまります。
enablePasswordRetrieval、enablePasswordReset、requiresQuestionAndAnswerまたはrequiresUniqueEmail属性がブール値以外の値に設定されています。
maxInvalidPasswordAttemptsまたはpasswordAttemptWindow属性が、正の整数以外の値に設定されています。
minRequiredPasswordLength属性が正の整数でない値に設定されているか、値が128を超えています。
minRequiredNonalphanumericCharacters属性が負の整数に設定されているか、値が128を超えています。
passwordStrengthRegularExpression属性の値が有効な正規表現ではありません。
applicationName属性の値が256文字を超えています。
passwordFormat属性の値が無効なMembershipPasswordFormat列挙値です。
passwordFormat属性がHashedに設定され、enablePasswordRetrieval属性がtrueに設定されています。
passwordFormat属性がEncryptedに設定され、machineKey構成要素がdecryptionKey属性に対してAutoGenerateを指定しています。
connectionStringName属性が空であるか、アプリケーション構成ファイルに存在しません。
connectionStringName属性値の接続文字列の値が空であるか、指定されたconnectionStringNameがアプリケーション構成ファイルに存在しません。
commandTimeout属性の値が負の整数に設定されています。
このOracleMembershipProviderインスタンスのアプリケーション構成ファイルには、認識されていない属性が含まれます。
備考
Initializeメソッドは、アプリケーションによって直接呼び出されることを意図していません。
このメソッドは、ユーザーのパスワードをリセットし、自動的に生成された新しいパスワードを戻します。
宣言
// C# public override string ResetPassword(string userName, string passwordAnswer);
パラメータ
userName
パスワードをリセットする対象のユーザー。
passwordAnswer
指定されたユーザーのパスワードに対する回答。
戻り値
指定されたユーザーの新しいパスワード。
例外
ArgumentNullException - userNameパラメータがnull参照であるか、RequiresQuestionAndAnswerプロパティがtrueのときにpasswordAnswerパラメータがnullです。
System.Web.Security.MembershipPasswordException - passwordAnswerパラメータが無効であるか、userNameパラメータで識別されるユーザーがロックされています。
ArgumentException - 次のいずれかの条件が存在します。
userNameパラメータが空の文字列であるか、カンマが含まれているか、256文字を超えています。
passwordAnswerパラメータが空の文字列であり、RequiresQuestionAndAnswerプロパティがtrueです。または、passwordAnswerパラメータが128文字(エンコードされたバージョンを含む)を超えています。
System.Configuration.Provider.ProviderException - 次のいずれかの条件が存在します。
userNameがメンバーシップ・データベースに見つかりませんでした。
パスワード・リセット操作がValidatingPasswordイベントのサブスクライバによって取り消され、FailureInformationプロパティがnull参照でした。
メンバーシップ・データベースでのパスワードのリセット時にエラーが発生しました。
NotSupportedException - EnablePasswordResetプロパティがfalseに設定されています。
例外 - 処理されない例外が発生しました。
備考
先頭および末尾の空白はuserNameパラメータ値とpasswordAnswerパラメータ値から削除されます。
ResetPasswordメソッドは、PasswordFormatプロパティがHashedに設定されている場合に最もよく使用されます。ユーザーが、ハッシュ形式のパスワードを忘れた場合は、パスワードを取得できません。ただし、ユーザーがパスワードに対する正しい回答を提供した場合、プロバイダはパスワードを新しい自動生成パスワードにリセットできます。ResetPasswordメソッドでは、EnablePasswordResetプロパティがtrueに設定されている必要があります。パスワードに対する不正な回答がResetPasswordメソッドに指定されている場合は、無効なパスワードの試行を追跡する内部カウンタが1つ増やされます。これにより、ユーザーがロックされ、UnlockUserメソッドの呼び出しによってロック・ステータスがクリアされるまでログオンできなくなることがあります。パスワードに対する正しい回答が指定され、ユーザーが現在ロックされていない場合は、パスワードに対する無効な回答の試行を追跡する内部カウンタがゼロにリセットされます。
ResetPasswordメソッドによって生成されたランダム・パスワードは、PasswordStrengthRegularExpressionプロパティの正規表現を渡すことが保証されていません。ただし、ランダム・パスワードは、MinRequiredPasswordLengthおよびMinRequiredNonAlphanumericCharactersプロパティで設定された基準を満たします。
このメソッドは、ユーザーをロック解除してユーザーを検証できるようにします。
宣言
// C#
public override bool UnLockUser(string userName);
パラメータ
userName
ロック解除するユーザーの名前。
戻り値
ユーザーが正常にロック解除された場合はtrueを戻し、それ以外の場合はfalseを戻します。
例外
ArgumentException - userNameパラメータが空の文字列であるか、カンマを含むか、256文字を超えています。
ArgumentNullException - userNameパラメータがnullです。
備考
先頭および末尾の空白はuserNameパラメータ値から削除されます。
このメソッドは、データベース内のユーザーに関する情報を更新します。
宣言
// C#
public override void UpdateUser(MembershipUser membershipUser);
パラメータ
membershipUser
ユーザー情報が移入されるMembershipUserオブジェクト。
例外
ArgumentException - 次のいずれかの条件が存在します。
membershipUserのuserNameプロパティが空の文字列であるか、カンマが含まれているか、256文字を超えています。
membership Userのemailプロパティが空の文字列であり、Requires Unique Em ailプロパティがtrueに設定されているか、mailプロパティが256文字を超えています。
Argument Null Exception - membership Userパラメータがnullであるか、membership Userパラメータのsurnameまたはmailプロパティがnullです。
System.Configuration.Provider.ProviderException - 次のいずれかの条件が存在します。
membership Userパラメータのsurnameプロパティがメンバーシップ・データベースに見つかりません。
membership Userパラメータのmailプロパティがメンバーシップ・データベース内の既存の電子メール・アドレスと等しく、Requires Unique Em ailプロパティがtrueに設定されます。
メンバーシップ・データベースでのユーザーの更新時にエラーが発生しました。
備考
指定されたユーザーのMail、Comment、IsApproved、Last Login DateおよびLastActivityDateプロパティ値は、変更してからUpdateUserメソッドで更新できます。ただし、ユーザーのパスワードは変更および更新できません。ユーザーのパスワードを更新するには、MembershipUserクラスのChangePasswordメソッドを使用します。
このメソッドはユーザーを検証します。
宣言
// C# public override bool ValidateUser(string userName, string password);
パラメータ
userName
検証するユーザーの名前。
password
指定されたユーザーのパスワード。
戻り値
指定されたユーザー名とパスワードが有効な場合はtrueを戻し、有効でないかユーザーがデータベースに存在しない場合はfalseを戻します。
備考
先頭および末尾の空白はuserNameパラメータ値とpasswordパラメータ値から削除されます。
ユーザーが正常に検証された場合、最後のアクティビティ日とサインイン日の値がデータベース内で現在の日時に更新されます。
ValidateUserメソッドは、isApprovedパラメータをfalseに設定して作成された任意のユーザーについてfalseを戻します。
ValidateUserメソッドに対して不正なパスワードが指定された場合は、無効なパスワードの試行を追跡する内部カウンタが1つ増やされます。これにより、ユーザーがロックされ、UnlockUserメソッドの呼び出しによってロック・ステータスがクリアされるまでログオンできなくなることがあります。正しいパスワードが指定され、ユーザーが現在ロックされていない場合は、無効なパスワードおよびパスワードに対する無効な回答の試行を追跡する内部カウンタがゼロにリセットされます。
OracleMembershipProviderパブリック・イベントを、表2-10にリストします。