Rails创建自己的密码重置

时间:2012-06-29 08:21:39

标签: ruby-on-rails

我正在尝试了解为用户创建rails应用程序的密码重置功能的机制,并且想知道是否有人可以引导我完成其他一些身份验证系统使用的样板逻辑。

2 个答案:

答案 0 :(得分:2)

有关于此的Railscast:Remember Me & Reset Password

答案 1 :(得分:0)

我发现的流程效果很好:

用户点击转到controller_action'reset'的'重置密码'链接     link_to'reset',reset_path

def reset
  @user = ...
  @user.temporary_password = SecureRandom(5)
  @user.password = @user.temporary_password   
  redirect_to ...
end

我通过电子邮件发送@ user.temporary_password。在视图逻辑中,告知用户他们需要重置密码,因为@ user.temporary_password存在。一旦他们更改了密码,我就会更改@ user.temporary_password = nil。完成!