2

我正在使用 Devise gem 进行 Web 服务的用户身份验证,该服务允许人们为与 Internet 无关的付费服务注册他们的详细信息,

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

因此,为了解决电子邮件问题,我想实现一个允许人们重置密码而无需单击密码重置电子邮件中发送的重置令牌的系统,我最初的想法是实施这个推荐的解决方案http:// www.fishnetsecurity.com/Resource_/PageResource/White_Papers/FishNetSecurity_SecureForgotPassword.pdf

这个问题基本上问了同样的问题Rails 3.0 Devise reset Password by answering a question(但没有真正的答案)

我想我需要重写设计密码控制器来询问用户一组安全问题,用户在他们第一次注册时回答了这些问题。如果他们回答正确,则允许用户重置密码。

有人有更好的解决方案吗?

谢谢

4

1 回答 1

0

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

before_filter :authenticate_user!

你可以添加

before_filter :authenticate_user!
before_filter :security_question_answered!

然后在 SecurityQuestionsController

skip_before_filter :security_question_answered!
于 2012-09-27T15:49:29.493 回答