在果园未更新的情况下重置密码



使用Orchard 1.6。在仪表板的设置部分中,我启用了"显示链接以使用户能够重置密码"

在服务器上更新此功能后,用户现在可以请求向他们发送丢失密码的电子邮件,以允许他们更改密码。这一切都工作正常,但是新密码不会生效。旧密码仍然有效?这是为什么呢?

感谢您的任何回复

我刚刚遇到了这个问题。我正在使用果园 1.7。

问题似乎来自这样一个事实,即在尝试修改密码时,nonce为null,将用户重定向到主页。

首先,我修改了Orchard.Users.AccountController LostPassword控制器,如下所示:

 public ActionResult LostPassword(string nonce) {
        if ( _userService.ValidateLostPassword(nonce) == null ) {
            return RedirectToAction("LogOn");
        }
        ViewData["nonce"] = nonce; //add this line
        ViewData["PasswordLength"] = MinPasswordLength;
        return View();
    }

然后,您需要修改 LostPassword.cshtml 并在表单中添加此行:

@Html.Hidden("nonce",ViewData["nonce"])

这可确保在发布新密码时将随机数传回并解决问题。

希望这有帮助。

编辑:不要忘记,您还需要在主题的LostPassword.cshtml文件中添加该行。如果不这样做,您仍然会遇到此错误。

相关内容

最新更新