【问题标题】:Webforms ASP.NET Identity system reset passwordWebforms ASP.NET Identity 系统重置密码
【发布时间】:2014-04-14 15:13:41
【问题描述】:

如何在新的 ASP.NET 身份系统中使用 webforms 获取用户的密码?或者如何在不知道当前密码的情况下重置(用户忘记密码)?

【问题讨论】:

    标签: webforms passwords reset identity


    【解决方案1】:

    我用这种方式绑定了重置密码并发送给用户

    if (userId != string.Empty)
            {
                string _newPass = RandomPass();
    
                if (manager.HasPassword(userId))
                {
                    IdentityResult ir1 = manager.RemovePassword(userId);
                    if (ir1.Succeeded)
                    {
                        IdentityResult ir2 = manager.AddPassword(userId, _newPass);
    
                        if (ir1.Succeeded && ir2.Succeeded)
                        {
                            //Send password to user via sms or email
                            Response.Redirect("~/RecoverPassword?m=ChangePwdSuccess");
                        }
                        else
                        {
                            AddErrors(ir1);
                            AddErrors(ir2);
                        }
                    }
                }
            }
    

    【讨论】:

    • 将密码通过电子邮件发送给用户并不是很好的安全做法。而是通过电子邮件向他们发送一个包含安全令牌(通常在 24 小时内到期)的链接,他们可以单击该链接输入新密码。我仍在寻找如何在 ASP.NET 身份中执行此操作的良好实现,当我找到它时会在此处发布
    猜你喜欢
    • 2013-10-31
    • 2023-03-19
    • 2014-07-22
    • 2017-01-29
    • 1970-01-01
    • 2016-05-03
    • 2015-04-28
    • 2020-12-15
    相关资源
    最近更新 更多