PasswordRecovery クラス
アセンブリ: System.Web (system.web.dll 内)

<BindableAttribute(False)> _ Public Class PasswordRecovery Inherits CompositeControl
[BindableAttribute(false)] public class PasswordRecovery : CompositeControl
BindableAttribute(false) public class PasswordRecovery extends CompositeControl

PasswordRecovery コントロールは、パスワードを忘れたユーザーを支援します。このコントロールによって、ユーザーは新しいパスワードまたはユーザー名に既に関連付けられているパスワードが含まれた電子メール メッセージを要求できます。
![]() |
---|
PasswordRecovery Web コントロールは、インターネット電子メール サービスを使用して、回復したパスワードまたは新しいパスワードをユーザーに送信します。電子メールでパスワードを送信する場合、セキュリティ上のリスクが伴います。これらのセキュリティ上のリスクがサイトの許容範囲かどうかを判断する必要があります。 |
ユーザーがパスワードを回復できるのは、MembershipProvider プロパティで定義されたメンバシップ プロバイダが、クリア テキストのパスワードまたは暗号化されたパスワードをサポートしている場合だけです。ハッシュされたパスワードを回復することはできないため、ハッシュされたパスワードを使用するサイトのユーザーは、パスワードのリセットだけを行うことができます。
![]() |
---|
PasswordRecovery コントロールは、メンバシップ ユーザーが承認されていない場合 (MembershipUser.IsApproved が false に設定されている場合) は使用できますが、メンバシップ ユーザーがロックアウトされている場合 (MembershipUser.IsLockedOut が true に設定されている場合) には使用できません。 |
電子メール メッセージは、MailDefinition クラスを使用して送信されます。ユーザーに電子メールを送信できるようにするには、アプリケーションの Web.config ファイルでメール サーバーを構成する必要があります。MailDefinition プロパティでカスタム メッセージを設定することにより、ユーザーに送信する電子メールの内容を変更できます。
ビュー
PasswordRecovery コントロールには、次の 3 つの状態 (ビュー) があります。
PasswordRecovery コントロールは、MembershipProvider プロパティで定義されたメンバシップ プロバイダがパスワードの質問と解答をサポートしている場合にのみ、質問ビューを表示します。
PasswordRecovery コントロールの各スタイル プロパティと、各プロパティが影響を及ぼすビューを次の表に示します。
スタイルとテンプレート
さまざまなスタイル プロパティのセットを使用して、PasswordRecovery コントロールの外観をカスタマイズできます。コントロールの外観を完全に制御する必要がある場合は、3 つのビューにカスタム テンプレートを適用することもできます。QuestionTemplate、SuccessTemplate、UserNameTemplate の各プロパティを使用して、これらのビューのテンプレートを作成できます。ビューのテンプレートを定義した場合、PasswordRecovery のスタイル プロパティは無効になります。
PasswordRecovery コントロールのスタイル プロパティと、各スタイル プロパティが影響を及ぼす UI 要素を次の表に示します。各スタイルが適用されるプロパティの一覧については、個々のスタイル プロパティに関するドキュメントを参照してください。
SubmitButtonStyle | |
FailureTextStyle | |
HyperLinkStyle | 他のページへのリンク |
InstructionTextStyle | |
LabelStyle | |
TextBoxStyle | |
TitleTextStyle | |
SuccessTextStyle |
PasswordRecovery コントロールの各ビューに適用されるテンプレートのプロパティを次の表に示します。各テンプレートで設定する必要のあるコントロールの一覧については、各テンプレートのプロパティに関するドキュメントを参照してください。
PasswordRecovery コントロールがテンプレートでカスタマイズされていない場合は、PasswordRecovery コントロールの AccessKey プロパティが、コントロールの最初のテキスト ボックス、およびコントロールのすべてのテキスト ボックスに適用される TabIndex プロパティに適用されます。PasswordRecovery コントロールがテンプレートでカスタマイズされている場合には、AccessKey プロパティと TabIndex プロパティは無視されます。その場合は、各テンプレートの子コントロールの AccessKey プロパティと TabIndex プロパティを直接設定します。
Answer や Question など、テキスト ボックスで表される PasswordRecovery コントロールの各プロパティは、ページの有効期間のすべてのフェーズでアクセスできます。コントロールは、テキスト ボックスが発生させる TextChanged イベントによって、エンド ユーザーが加えた変更を検出します。
検証のグループ化
PasswordRecovery コントロールは、ページ上の他の入力コントロールが PasswordRecovery コントロールの検証の影響を受けないように、コントロールのすべての必須フィールド検証コントロールの検証グループを作成します。既定では、PasswordRecovery コントロールの ID プロパティが検証グループの名前として使用されます。たとえば、PasswordRecovery コントロールの ID が "PasswordRecovery1" である場合、検証グループの名前にも "PasswordRecovery1" が使用されます。PasswordRecovery コントロールを別の検証グループに参加させる場合は、そのコントロールのテンプレートを作成する必要があります。
このコントロールに既定でレンダリングされるマークアップは、Web Content Accessibility Guidelines (WCAG) 1.0 の優先度 1 ガイドラインなどのユーザー補助に関する標準に適合しない可能性があります。このコントロールのユーザー補助サポートの詳細については、「ASP.NET コントロールとユーザー補助」を参照してください。

PasswordRecovery コントロールを使用するコード例を次に示します。
<%@ Page Language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <SCRIPT runat="server"> ' Set the field label background color if the user name is not found. Sub PasswordRecovery1_UserLookupError(ByVal sender As Object, ByVal e As System.EventArgs) PasswordRecovery1.LabelStyle.ForeColor = System.Drawing.Color.Red End Sub ' Reset the field label background color. Sub PasswordRecovery1_Load(ByVal sender As Object, ByVal e As System.EventArgs) PasswordRecovery1.LabelStyle.ForeColor = System.Drawing.Color.Black End Sub </SCRIPT> <HTML> <BODY> <FORM runat="server"> <asp:PasswordRecovery id="PasswordRecovery1" runat="server" BorderStyle="Solid" BorderWidth="1px" BackColor="#F7F7DE" Font-Size="10pt" Font-Names="Verdana" BorderColor="#CCCC99" HelpPageText="Need help?" HelpPageUrl=recoveryHelp.aspx onuserlookuperror="PasswordRecovery1_UserLookupError" onload="PasswordRecovery1_Load" > <successtemplate> <table border="0" style="font-size:10pt;"> <tr> <td>Your password has been sent to you.</td> </tr> </table> </successtemplate> <titletextstyle font-bold="True" forecolor="White" backcolor="#6B696B"> </titletextstyle> </asp:PasswordRecovery> </FORM> </BODY> </HTML>
<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <SCRIPT runat="server"> // Set the field label background color if the user name is not found. void PasswordRecovery1_UserLookupError(object sender, System.EventArgs e) { PasswordRecovery1.LabelStyle.ForeColor = System.Drawing.Color.Red; } // Reset the field label background color. void PasswordRecovery1_Load(object sender, System.EventArgs e) { PasswordRecovery1.LabelStyle.ForeColor = System.Drawing.Color.Black; } </SCRIPT> <HTML> <BODY> <FORM runat="server"> <asp:PasswordRecovery id="PasswordRecovery1" runat="server" BorderStyle="Solid" BorderWidth="1px" BackColor="#F7F7DE" Font-Size="10pt" Font-Names="Verdana" BorderColor="#CCCC99" HelpPageText="Need help?" HelpPageUrl=recoveryHelp.aspx onuserlookuperror="PasswordRecovery1_UserLookupError" onload="PasswordRecovery1_Load" > <successtemplate> <table border="0" style="font-size:10pt;"> <tr> <td>Your password has been sent to you.</td> </tr> </table> </successtemplate> <titletextstyle font-bold="True" forecolor="White" backcolor="#6B696B"> </titletextstyle> </asp:PasswordRecovery> </FORM> </BODY> </HTML>


System.Web.UI.Control
System.Web.UI.WebControls.WebControl
System.Web.UI.WebControls.CompositeControl
System.Web.UI.WebControls.PasswordRecovery


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- PasswordRecovery クラスのページへのリンク