0

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

4

2 回答 2

2

有一个关于此的 Railscast:记住我并重置密码

于 2012-06-29T09:44:26.807 回答
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。完毕!

于 2012-06-29T12:51:50.850 回答