方法 : ASP.NET PasswordRecovery コントロールを使用してユーザーのパスワード回復機能を有効にする
更新 : 2007 年 11 月
アプリケーションが認証に ASP.NET メンバシップを使用する場合、PasswordRecovery コントロールを使用してアプリケーションのパスワード回復機能を有効にできます。アプリケーションは、メンバシップ プロバイダの構成に基づいて、ユーザーに現在のパスワードまたは新しいパスワードを送信します。既定では、ASP.NET は非可逆的な暗号化スキームを使用してパスワードをハッシュするので、ユーザーに新しいパスワードが送信されます。メンバシップ プロバイダがパスワードを暗号化するか、またはクリア テキストでパスワードを保存するように構成されている場合 (推奨できません)、ユーザーの現在のパスワードが送信されます。
アプリケーションがパスワードを回復するには、電子メール メッセージをユーザーに送信する必要があります。したがって、アプリケーションは電子メール メッセージを転送できる SMTP サーバーの名前を使用して構成する必要があります。詳細については、SmtpClient クラスと「方法 : IIS 6.0 内で SMTP 仮想サーバーをインストールおよび構成する」を参照してください。
パスワード回復機能を有効にするには
RecoverPassword.aspx などの匿名ユーザーがアクセスできるサイトの ASP.NET Web ページを作成または編集します。認証を必要とする Web サイトでは、次の例に示すように、location 構成要素を使用してページに匿名でアクセスできるように指定します。
<configuration> <location path="RecoverPassword.aspx"> <system.web> <authorization> <allow users="?" /> </authorization> </system.web> </location> <system.web> <authentication mode="Forms" > <forms loginUrl="UserLogin.aspx" /> </authentication> <authorization> <deny users="?" /> </authorization> </system.web> </configuration>
次の例に示すように、ページに PasswordRecovery コントロールを配置します。
<asp:PasswordRecovery ID="PasswordRecovery1" Runat="server"> </asp:PasswordRecovery>
UserNameTemplate、QuestionTemplate、および SuccessTemplate の各テンプレートを構成して、PasswordRecovery コントロールの外観をカスタマイズすることもできます。