程序运行流程预览:
================================
================================
1.如果使用SQL2000数据库,则需要进入到VS2005的控制台,输入aspnet_regsql.exe,打开数据库创建向导,创建一个适用于Microsoft内置验证的数据库。
2.在使用PasswordRecovery控件之前,要使CreateUserWizard所有注册选项打开,尤其是电子邮件和安全问题两个必填项。相关配置如下:
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
<providers>
<clear />
<add
name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="loginDb"
applicationName="MyApplication"
enablePasswordRetrieval="true"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
minRequiredNonalphanumericCharacters="0"
requiresUniqueEmail="true"
passwordFormat="Clear" />
</providers>
</membership>
3.如果设置了整个站点必须要通过验证才可访问,则需要单独为包含PasswordRecovery控件的页面再去写一个Web.config配置,使其可以被所有用户访问,否则进这个页面也需要访问权限,配置如下:
<location path="userPwdRecovery.aspx">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
4.记得为SMTP服务进行如下配置:
<system.net>
<mailSettings>
<smtp from="*******@qq.com">
<network host="smtp.qq.com" password="******" userName="*******@qq.com" />
</smtp>
</mailSettings>
</system.net>
5.记得给PasswordRecovery控件配置<MailDefinition>元素(包含成功恢复密码通知的电子邮件的内容和格式)
<asp:PasswordRecovery ID="PasswordRecovery1" runat="server">
<MailDefinition BodyFileName="~/用户成员资格/SendMail.txt" From="*******@qq.com" Subject="密码找回。">
</MailDefinition>
</asp:PasswordRecovery>
6.PasswordRecovery控件的<MailDefinition>元素中的BodyFileName属性作用是将定制好的电子邮件正文格式与之相关联。其中的SendMail.txt可以简单写成如下格式:
======================================================
您好,这是一封密码找回邮件,请注意及时修改自己的密码并删除本邮件,谢谢使用!
用户名:<% userName %>
密 码:<% password %>
======================================================
7.<asp:PasswordRecovery>中的<MailDefinition>元素的"From"属性的邮件地址必须和<smtp from="*******@qq.com">中的邮件地址相同。
<smtp from="*******@qq.com">
From = "*******@qq.com"