我需要实现这样一个功能.它需要工作,以便在您上次更改密码后x天,然后当您登录时收到一条消息,说明您的密码已过期,请输入新密码并确认新密码
您是否有任何想法/建议如何以正确的方式做到这一点?
您可以使用以下方法将自己的处理器添加为loggingin管道的第一个处理器Process:
public void Process(LoggingInArgs args)
{
MembershipUser user = Membership.GetUser(args.Username);
if (user != null)
{
DateTime date = user.LastPasswordChangedDate;
if ((DateTime.Now - date).TotalDays > maxDaysWithoutPasswordChange)
{
HttpContext.Current.Response.Redirect("/passwordchangepage");
}
}
}
Run Code Online (Sandbox Code Playgroud)
这会将需要更改密码的所有用户重定向到/passwordchangepage网址.在此页面上创建旧密码和新密码的表单.
在提交表单时执行密码更改:
MembershipUser user = Membership.GetUser(username);
user.ChangePassword(oldPassword, newPassword);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1570 次 |
| 最近记录: |