【问题标题】:asp.net mvc 3 reset password by admin and force user to change itasp.net mvc 3 管理员重置密码并强制用户更改密码
【发布时间】:2012-09-27 16:45:47
【问题描述】:

我正在使用asp.net Membership,我开发了一个可以重新生成临时密码发送给用户的管理页面,然后当用户第一次登录时,必须更改密码,但我不知道谁知道密码是否被重置。

我在基本控制器中尝试过类似的东西:

if (user.LastPasswordChangedDate >= user.LastLoginDate)
{
    filterContext.Result = RedirectToAction("ChangePassword", "Account");
}

但是,我已经更新了 LastLoginDate,因为 ChangePassword Action 需要与经过身份验证的用户一起使用。

我正在考虑重置密码以锁定/解锁用户以更新“LastLockoutDate”并执行以下操作:

if (user.LastPasswordChangedDate >= user.LastLockoutDate)
{
    filterContext.Result = RedirectToAction("ChangePassword", "Account");
}

但是,我找不到手动锁定的方法

谢谢!!!

【问题讨论】:

    标签: asp.net asp.net-mvc-3 asp.net-membership password-recovery


    【解决方案1】:

    您可以做很多事情,其中​​一些取决于您的系统如何工作。例如,如果您不使用 cmets,您可以在 Comment 字段中存储特定的数据。

    或者,如果您不使用“已批准”位(即,当您创建新用户时,您不需要他们验证电子邮件或其他内容,而是在 IsApproved 设置为 true 的情况下创建他们),那么您可以将 IsApproved 设置为 False,如果为 false,则强制更改密码。

    在 Membership API 中无法访问大部分此类数据,您只需从您的数据库中访问即可。

    您也可以将其存储在个性化提供程序中。

    另一种选择是简单地避免将其存储在 Membership 数据库中,而只需在您的应用数据中添加一个表或一个字段来处理此问题。

    【讨论】:

      猜你喜欢
      • 2018-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-18
      • 2011-09-09
      • 2020-06-15
      相关资源
      最近更新 更多