DotNetNuke - Encrypted/Hashed 密码的纯文本

DotNetNuke - Plain text to Encrypted/Hashed passwords

我继承了一个 DotNetNuke 网站,该网站的创建者和管理者认为将用户密码存储为纯文本是个好主意,因为他可以轻松查找密码并在用户忘记密码时告诉他们密码是什么并在遇到问题时以他们的身份登录。在发现这一点后从心脏病发作中恢复过来并让我的思绪远离那是多么愚蠢的想法后,我需要修复它。

我知道要更改 web.config 设置以使用正确的密码配置,但我希望其他必须使用 DotNetNuke 站点执行此操作的人可以提供一些有关处理此问题的最佳方法的指导。我应该只使用标准的 .NET 代码并编写一个应用程序来循环遍历它们并更改它们,还是我需要使用 DotNetNuke 用户对象?任何文章链接或示例代码都会非常有帮助。我找到了关于一般执行此操作的帖子,但不是在 DotNetNuke 站点的上下文中,我不确定是否需要考虑任何特殊注意事项。

遗憾的是,据我所知,没有任何真正的文档可以处理这个问题。我的建议是将 web.config 更改为散列。执行此操作后,用户重置将开始使用新格式。

然后您可以编写一个简单的模块,使用计划文本获取所有用户,并使用来自 UserController API 的 ChangePassword API 调用重置他们的密码。它不优雅,但可以完成工作。