我的web应用程序有一个ASP密码恢复控件,它在发送包含短文本,然后用户名和密码重设密码。更改由asp:PasswordRecovery电子邮件发送的邮件,而不会丢失密码/用户名
我需要做的一小段文字双语的,所以我增加了以下到后面的代码:
protected void PasswordRecovery1_SendingMail(object sender, MailMessageEventArgs e)
{
e.Message.IsBodyHtml = false;
string body = "translated text" + Environment.NewLine + "english text";
e.Message.Body = body;
e.Message.Subject = ConfigurationManager.AppSettings["Subject"];
}
发生了什么事,然后是翻译的文本都挺过来了,但用户名和口令现在下落不明。
所以,我想加入这个在我的身上:
string pw = Membership.GetUser(PasswordRecovery1.UserName).GetPassword(PasswordRecovery1.Answer);
string p = PasswordRecovery1.UserName;
而且我得到了这样的信息:
该成员资格提供尚未配置为支持密码 检索。
所以我加入到控制:
enablePasswordRetrieval="true"
但我仍然得到了同样的消息。我究竟做错了什么?
启用密码检索可能不是你想要的,因为它改变了密码管理的一些重要行为。 (也就是说,密码永远不可恢复,使它们恢复可以打破这一点。)如果你想这样做,你必须在成员提供者而不是控件上执行。可能在'Web.config'中。相反,在覆盖之前,尝试检查'e.Message.Body'中已经存在的值。也许你可以改变现有的价值,而不是创造一个全新的价值? – David 2015-02-10 14:11:09
如果密码未经过散列处理,密码检索只是一个选项。您的会员资格的密码格式是什么? – user1666620 2015-02-10 14:13:54
e.Message.Body包含带有用户名和密码的标准消息,我只想获取用户名和密码的句柄,并将文本更改为我自己的首选 – JsonStatham 2015-02-10 14:37:03