【问题标题】:Does ASP.NET Membership have a mechanism to generate password reset URLs?ASP.NET Membership 是否具有生成密码重置 URL 的机制?
【发布时间】:2010-12-15 07:46:18
【问题描述】:

我正在使用具有 ASP.NET 成员资格的 ASP.NET MVC。

按照best practices 的“我忘记了密码逻辑”,我想做以下事情:

  • 向用户发送一封电子邮件,其中包含指向唯一隐藏 URL 的链接,允许他更改密码
  • 要求密码重置不会重置密码。您需要唯一的链接。

我正在寻找有关生成此 URL 的最佳方法的建议,使其仅暂时有效,然后对其进行验证。我认为 ASP.NET 会员标准的方式是有一个“安全问题”,这实际上是一个lousy way 这样做。

生成和验证此类链接的最佳方式是什么。我应该只生成一个 GUID 并将其放在用户的配置文件中吗?我不认为有任何其他预建的权利?

【问题讨论】:

  • 我不相信 ASP.NET Membership 中没有内置任何东西会生成一个临时 url 来重置密码。为什么你认为安全问题是一个“糟糕”的选择?它比将链接发送到收件箱更简单,而且可以说更安全......这可能永远不会到达预期的收件人。
  • 因为比起访问他们的电子邮件,我更有可能猜出某人的宠物名字。显然,即使是莎拉佩林也遇到了这个问题。

标签: asp.net asp.net-membership


【解决方案1】:

您的解决方案很好...生成 GUID 可以用于临时密码重置。只要确保在用户要求之前您不会生成它,然后将其添加到他们的个人资料中并带有时间戳......并给它一个非常短的机会窗口,比如一个小时。当用户访问 URL 时重置/清除它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 2015-04-13
    • 2011-04-03
    相关资源
    最近更新 更多