我正在处理具有可选电子邮件属性的设计用户模型(他可以使用文档编号或电子邮件登录)。由于管理员可以注册新用户(设置密码),我想知道是否有办法让用户使用文档编号和出生日期恢复他们的设备密码,然后注册一个新密码。
希望这是清楚的。谢谢。
最佳答案
好吧,如果该人已登录,您只需调用此模型中的相关方法(在用户上)即可恢复密码。我想您需要创建一个 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/