使用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文件中添加该行。如果不这样做,您仍然会遇到此错误。