ruby-on-rails - 自定义密码恢复装置

标签 ruby-on-rails devise passwords password-recovery

我正在处理具有可选电子邮件属性的设计用户模型(他可以使用文档编号或电子邮件登录)。由于管理员可以注册新用户(设置密码),我想知道是否有办法让用户使用文档编号和出生日期恢复他们的设备密码,然后注册一个新密码。

希望这是清楚的。谢谢。

最佳答案

好吧,如果该人已登录,您只需调用此模型中的相关方法(在用户上)即可恢复密码。我想您需要创建一个 View ,然后根据 Controller 中的这些值验证重置密码的请求,然后根据 current_user 调用正确的方法。我的猜测是您需要 send_reset_password_instructions 方法 from this file .

View 上的简单表单就可以做到这一点;如果值匹配(即,如果您能够根据 POST 中的文档编号和出生日期与从数据库调用的用户的预期值进行比较来验证用户),则调用该方法并发送重置电子邮件。

如果您没有用户的电子邮件地址(我怀疑可能是您的问题),那么您可以(在 Controller 中)不调用上述方法来发送电子邮件,而是调用 reset_password ! 方法,传入表单输入以获取新的所需密码,这将更改它。

编辑: This link可能也有一些用处。

关于ruby-on-rails - 自定义密码恢复装置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20846392/

相关文章:

ruby-on-rails - rails 4.2 : Getting "Unpermitted parameters" on user creation after adding `protected_attributes` gem

ruby-on-rails - 设计忽略我的自定义策略

ruby-on-rails - 带有 Devise 和 rspec : Warden test helpers unreliable 的 Rails 3

ruby-on-rails - 尝试更新设计用户详细信息时出现路由错误,Rails 4

php - 帮助计算(和有用性)密码熵

mysql - 如何找出mysql数据库的用户名和密码

ruby-on-rails - Rails - 从 RESTFul 资源到自定义路由

ruby-on-rails - 为html格式设计http基本认证

vba - 所以我的Excel-VBA项目密码很容易被破解...还有什么其他选择?

ruby-on-rails - Ruby on Rails & Devise,使用 omniauth_callbacks 和注册将 'users/sign_in' 更改为 'sign-in'