我已经为DNN(DotNetNuke)进行了自定义登录控制。现在我正在尝试实现忘记密码功能。我可以使用代码从数据库中检索密码:
UserInfo uInfo = UserController.GetUserByName(this.PortalId, userName);
if (uInfo != null)
{
string password = UserController.GetPassword(ref uInfo, String.Empty);
}
我想使用DNN将检索到的密码发送给用户。
任何帮助将不胜感激。
答案 0 :(得分:1)
通过电子邮件发送密码被视为一个很大的安全漏洞,真的不推荐。
如果您仍然需要此功能,我想您可以通过SendMail
或SendEmail
方法发送电子邮件来实现此目的:
DotNetNuke.Services.Mail.Mail.SendEmail()
DotNetNuke.Services.Mail.Mail.SendMail()
SendMail
方法提供的选项/参数多于SendEmail
方法。参数名称应该足够自我解释,以便使用这些方法。
答案 1 :(得分:1)
向用户发送密码的最简单方法是调用带有UserInfo
,DotNetNuke.Services.Mail.Mail.SendMail
和PortalSettings
的{{3}}重载。您可以传递用户MessageType. PasswordReminder
,DNN将负责其余部分。
那就是说,我和人群一起说,MessageType
会更好,并认为这是一个不可能的功能请求(相反,应该通过密码重置功能来实现)。