使用Orchard 1.6。在仪表板的设置部分中,我启用了“显示链接以允许用户重置密码”
在服务器上更新此功能后,用户现在可以请求将丢失的密码电子邮件发送给他们,以便他们更改密码。这一切都正常,但新密码不会生效。和旧密码仍然有效?这是为什么?
感谢任何回复
答案 0 :(得分:0)
我刚遇到这个问题。我正在使用Orchard 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文件中添加该行。如果不这样做,您仍会遇到此错误。