ASP.NET Membership 是不是具有生成密码重置 URL 的机制?
Posted
技术标签:
【中文标题】ASP.NET Membership 是不是具有生成密码重置 URL 的机制?【英文标题】: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 来重置密码。为什么你认为安全问题是一个“糟糕”的选择?它比将链接发送到收件箱更简单,而且可以说更安全......这可能永远不会到达预期的收件人。 因为比起访问他们的电子邮件,我更有可能猜出某人的宠物名字。显然,即使是莎拉佩林也遇到了这个问题。 【参考方案1】:您的解决方案很好...生成 GUID 可以用于临时密码重置。只要确保在用户要求之前您不会生成它,然后将其添加到他们的个人资料中并带有时间戳......并给它一个非常短的机会窗口,比如一个小时。当用户访问 URL 时重置/清除它。
【讨论】:
以上是关于ASP.NET Membership 是不是具有生成密码重置 URL 的机制?的主要内容,如果未能解决你的问题,请参考以下文章