Rails — Password Recovery
这个问题可能有点抽象,但是我想知道实现密码恢复的最佳/标准方法是什么。我现在正在尝试在代码中实现它,但是我开始使用的方法似乎有点round回/令人困惑,我想知道执行此操作的" Rails方式"。有什么建议吗?
密码通常应散列(理想情况下使用salt),而不是加密,以便无法解密。然后,稍后要检查用户是否正确输入了密码,请输入他们输入的内容并使用相同的salt和hash函数,并查看它是否与数据库中的哈希值匹配。
以这种方式存储,密码无法恢复。恢复丢失的密码的标准方法是:
Devise是Rails的身份验证工具,它具有遵循此模式的可恢复策略。
由于电子邮件不是100%安全的,因此某些网站会进行其他安全检查。例如,您可能要求,要获取密码重置电子邮件,用户必须回答一个秘密问题(通常是在创建帐户时设置)。