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