3
这个问题可能有点抽象,但我想知道实现密码恢复的最佳/标准方法是什么。我试图在我的代码中实现它,但我开始使用的方法似乎有点迂回/混乱,我想知道“Rails方式”是做什么的。有什么建议么?Rails - 密码恢复
这个问题可能有点抽象,但我想知道实现密码恢复的最佳/标准方法是什么。我试图在我的代码中实现它,但我开始使用的方法似乎有点迂回/混乱,我想知道“Rails方式”是做什么的。有什么建议么?Rails - 密码恢复
通常应该对密码进行散列(理想情况下用盐)而不是加密,以便它们不能被解密。然后,为了检查用户是否正确输入密码,你需要输入他们所输入的内容并使用相同的salt和散列函数,并查看它是否与数据库中的散列相匹配。
以这种方式存储,密码不能恢复。着手恢复丢失密码的标准方法是:
http://fakesite.com/reset_password?token=long_token_generated_in_step_2
。设计,为Rails认证的宝石,具有遵循此模式的Recoverable strategy。
一些网站采用额外的安全检查,罪ce电子邮件不是100%安全的。例如,您可能会要求,要获取密码重置电子邮件,用户必须回答一个秘密问题(通常在创建帐户时设置)。
设计实现了大部分模式,看看https://github.com/plataformatec/devise – clyfe 2012-01-04 00:05:44