2012-04-23 36 views
3

我开发了Devise的Rails 3应用程序,用于注册和登录控制。我希望能够将任何用户的密码修改为我提供的密码。 我提出的解决方案(我还没有机会测试它)是使用我选择的密码进行假新注册,将表记录中的密码复制到有问题的用户记录中,然后然后删除我在数据库中生成的假记录。这不是最优雅的事情,但这是我的全部。我等待更好的建议。Rails 3 +设计:如何从管理角色更改其他用户的密码?

回答

4

我可能会误解这个问题,但它应该如此简单;

@user = User.find(<some id>) 
@user.update_attributes(:password => 'anewpassword', :password_confirmation => 'anewpassword') 

那么他们的密码将是“anewpassword”

+0

的事情是,设计储存为“encrypted_pa​​ssword”字段中输入密码(我认为它使用MD5或类似)和密码,如“qweqwe”变“$ 2A $ 10 $ TqfBNCfMx3NfDoLFPVKtSuEKmxLkhQsrLSwLI6dSuGCHNkmO3Ggfm”。这就是为什么我不能直接存储密码的原因。 – maxniko 2012-04-26 14:14:42

+3

你永远不想存储未加密的密码......永远! – 2012-04-26 14:37:59

相关问题