ASP.NET MVC 5以管理员身份更改密码,不需要电子邮件

问题描述:

如果您配置了ASP.NET MVC 5站点没有电子邮件确认,管理员如何执行密码重置?ASP.NET MVC 5以管理员身份更改密码,不需要电子邮件

我可以编写一个控制台应用程序来重置数据库中的密码,但这似乎效率低下。此外,旧的aspnet_Membership_ResetPassword sproc在新的身份系统中没有对应物。

+0

您所要做的就是更新数据库中的密码字段(当然,在散列/加密之后)。没有必要的存储过滤器,你可以在C#中完成。你有什么尝试? – danludwig 2015-02-24 19:49:02

+0

是的,我意识到我可以在C#中完成,但我的系统管理员不能。没有写他做哈希的工具,我没有看到另一种选择。 – 2015-02-24 19:52:40

+0

您应该向MVC网站添加一项功能,以允许授权用户(系统管理员)通过网页执行此操作。 – danludwig 2015-02-24 19:53:59

我不知道我明白你想达到什么。您仍然必须以某种方式向用户提供密码,那么您是否会通过电子邮件向他们发送生成的密码而不是标准的“在电子邮件中链接到允许您选择新密码的页面”方法?

另外,你是在谈论具体重置一个用户的密码或重置所有用户密码。如果是后者,那么一个控制台应用程序就是要走的路。如果是前者,您可以简单地向后端添加一个视图,只有管理员可以访问该后端,让他们为特定用户执行此功能。

就生成一些随机密码而言,你自己在那里,但一个简单的网络搜索应该有很多方法可供选择。

对智者来说,尽管电子邮件确认方法是标准的理由。它提供了一种相对安全的方式,允许用户在无法记住自己的密码时重新获得对其帐户的访问权限。但最重要的功能是,它强制用户实际更改密码,而使用随机提供的密码,用户实际上是使用该密码,而不是花时间在登录后手动更改密码 - 尤其是密码管理员这些天。这意味着如果您通过电子邮件发送密码,或者将其写入粘贴或其他任何内容,您现在都有一个巨大的安全漏洞。

+0

我正在专门讨论一个系统管理员重置单个用户的密码。没有邮件。 – 2015-02-24 23:47:19