【问题标题】:How to Verify Email Address for Forgot Password Feature in Ruby on Rails如何在 Ruby on Rails 中验证忘记密码功能的电子邮件地址
【发布时间】:2013-11-07 23:31:42
【问题描述】:

我已经实现了忘记密码功能,它将向用户电子邮件发送重置链接。我还使用客户端的 JavaScript 库添加了一些代码来验证它是否是有效的电子邮件地址。

我的问题是如何在服务器端检查,这样当邮箱地址不在我们数据库的users表中时,我们会显示一个flash错误信息;如果它在我们的用户表中,我们将发送密码重置链接。

我正在使用Devise 进行用户管理。

【问题讨论】:

  • 忘记密码功能已经内置在设计中
  • 到目前为止你有没有运气?

标签: ruby-on-rails validation email


【解决方案1】:

您描述的精确功能随 Devise 一起提供。要启用它,您需要将您的 Devise 模型声明为 :recoverable

# app/models/user.rb (assuming that User is a Devise model)
devise :database_authenticatable, :registerable,
       :rememberable, :trackable, :validatable, :recoverable

然后,您可以通过访问http://yourdomain/users/password/new 访问密码恢复表单。假设您没有覆盖/继承Devise::PasswordsController,您将获得直接开箱即用的所有功能。

【讨论】:

  • 后来,我和我的同事讨论过,我们不希望在用户尝试重置密码时验证电子邮件地址,因为这可能是一个安全问题让用户知道电子邮件地址是否在我们的数据库中。
猜你喜欢
  • 2013-09-29
  • 2011-04-22
  • 2021-02-28
  • 2021-02-26
  • 2011-10-19
  • 2015-11-02
  • 2019-01-16
  • 1970-01-01
  • 2012-05-06
相关资源
最近更新 更多