ROR 3 - 密码重置的设计和安全问题

时间:2012-07-03 05:26:39

标签: ruby-on-rails devise

我正在使用Devise gem对Web服务进行用户身份验证,该服务允许人们为非互联网相关的付费服务注册其详细信息,

我遇到的问题是有些人没有电子邮件(只有少数人),而有电子邮件的人通常是公司电子邮件,它阻止/删除ROR应用程序发送的电子邮件。< / p>

因此,为了解决电子邮件问题,我想实现一个允许人们重置密码而不必点击密码重置电子邮件中发送的重置令牌的系统,我最初的想法是实现这个推荐的解决方案{ {3}}

这个问题基本上问同一个问题http://www.fishnetsecurity.com/Resource_/PageResource/White_Papers/FishNetSecurity_SecureForgotPassword.pdf(但没有真正的答案)

我想我需要覆盖Devise密码控制器,向用户询问用户首次注册时回答的一组安全问题。如果他们回答正确,则允许用户重置密码。

任何人都有更好的解决方案吗?

由于

1 个答案:

答案 0 :(得分:0)

你可以像现在一样使用before_filter(在ApplicationController中)

before_filter :authenticate_user!

你可以添加

before_filter :authenticate_user!
before_filter :security_question_answered!

然后在SecurityQuestionsController

skip_before_filter :security_question_answered!