Ḟḹá*_*ƀíé 3 c# model-view-controller membership-provider password-recovery umbraco7
我正在为Umbraco 7.1.7的会员区建立一个登录/注册部分.
我想通过电子邮件以明文形式向用户发送密码.
这个想法是,如果用户忘记了密码,他们只需输入他们的电子邮件地址(也可以作为他们的用户名)并点击按钮:

现在,我知道Umbraco使用ASP.NET成员资格提供程序和哈希密码,这很不错但我需要访问明文版本才能在电子邮件中发送.
我已经更改了我的web.config以包含这个:
<membership defaultProvider="UmbracoMembershipProvider" userIsOnlineTimeWindow="15">
<providers>
<clear />
<add name="UmbracoMembershipProvider"
type="Umbraco.Web.Security.Providers.MembersMembershipProvider, Umbraco"
minRequiredNonalphanumericCharacters="0"
minRequiredPasswordLength="0"
useLegacyEncoding="true"
enablePasswordRetrieval="true"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
defaultMemberTypeAlias="Member"
passwordFormat="clear" />
Run Code Online (Sandbox Code Playgroud)
我的Controller Action方法如下所示:
// Forgot password logic to send email
[ActionName("MvcMemberForgot")]
public ActionResult MvcMemberForgot(MvcMemberForgotModel model)
{
string emailaddress = model.Email.ToString(); // The users entered email address.
var member = Services.MemberService.GetByEmail(emailaddress);
var sb = new StringBuilder(); // To build the message.
sb.Append("Here is the password you chose for this email address: ");
sb.Append(password); // I need a password value here...
// Send the email.
library.SendMail("noreply@company.co.uk", emailaddress, "Password", sb.ToString(), true);
return CurrentUmbracoPage();
}
Run Code Online (Sandbox Code Playgroud)
我可以var x = member.RawPasswordValue;用来返回哈希密码,是否有办法获取用户在以类似方式注册时输入的密码?
我不会以明文形式向人们发送电子邮件,这是非常糟糕的安全措施.我最近接近这个的方法是做以下事情:
我的方法基于此示例repo的代码:https://github.com/warrenbuckley/CWS-Umbraco-Standard-Membership,其中包含许多与成员合作的有用示例!
| 归档时间: |
|
| 查看次数: |
2705 次 |
| 最近记录: |