【问题标题】:reset password in custom membership在自定义会员中重置密码
【发布时间】:2014-12-08 16:12:00
【问题描述】:

我只想使用 mvc 4 c# 重置密码 仅供参考:我正在使用我自己的自定义身份验证和授权, 我知道最好的方法是发送重置密码的链接, 我只需要文章或代码 sn-p 在没有会员资格的情况下应用它, 我想知道如何使链接过期?以及如何生成唯一链接?什么是令牌?以及在休息密码中使用令牌?

仅供参考:当我构建自己的授权系统时,我只是像这样覆盖 AuthorizeCore 函数

protected override bool AuthorizeCore(HttpContextBase httpContext)
{
}

是否有类似 AuthorizeCore 确认帐户或更改密码的功能可以覆盖? 感谢帮助谢谢

【问题讨论】:

  • 您可以在链接中使用用户名...用户名是唯一的或用户名+现在日期时间
  • 感谢 M.Azad 感谢您的帮助

标签: c# asp.net asp.net-mvc asp.net-mvc-4


【解决方案1】:

拆分问题”:

生成 GUID 以创建唯一链接 我喜欢用户无法识别的链接;您最好的候选人可能是随机数或 GUID (http://en.wikipedia.org/wiki/Globally_unique_identifier)。

System.Guid.NewGuid().ToString("P"));

使用 GUID 保留用户名 + 到期时间 在内存或数据库中,存储 guid、用户名和超时数据。您不会将这些数据暴露给外部

重设密码 您的用户单击“,,/reset&guid=3432432。您检索数据库中的数据和用户名、超时到提供的 guid 并重置密码(或不重置)

【讨论】:

  • 感谢 Pleun 我只是想知道我是否正在使用 WebSecurity.ResetPassword(ReturnToken,Password) 功能吗?这是一个函数生成令牌 var token = WebSecurity.GeneratePasswordResetToken(user.UserName) 我只是想知道如何为这个令牌添加到期日期?
猜你喜欢
  • 1970-01-01
  • 2011-02-06
  • 2016-12-22
  • 2019-01-16
  • 2020-06-23
  • 2015-04-10
  • 1970-01-01
  • 2020-08-16
  • 2015-12-12
相关资源
最近更新 更多