2016-11-17 71 views
0

我已经使用设计宝石进行验证。有多个用户,我是管理员。我想更改其他用户的密码。是否有可能这样做?更改使用设计宝石的其他用户的密码

+1

您可以使用rails控制台的更新方法。 'User.find(user_id).update_attributes(password:“password”)' –

+0

我已经尝试过,但在用户表中没有列命名密码。 –

+0

用户输入的密码由Devise加密并存储加密值。密码不应该直接存储,因为它会将值显示给谁可以访问数据库。 –

回答

2

我想不出一个更好的方法,但是你可以实现一个动作,它传递在表单字段中键入的新密码并执行以下操作。下面的代码将在轨控制台中工作,以及(在设备4.2.0测试)

u = User.find(user_id) 
u.password = "changed_password" 
u.save 

编辑: 我强烈建议重新考虑这样做。现有用户将如何知道他的密码是什么。另外 - 你也可以建立一个机制,使用户可以使用忘记的密码方法,并自己设置他们的密码。为此,您可以将encrypted_pa​​ssword设置为空,并向其发送一封忘记的密码电子邮件(邮件中包含相应的消息,表明其当前密码已过期,并且需要设置新密码),以便他们可以使用它自己设置密码。

+0

我有机密数据,我想给用户提供用户名和密码。如果我觉得有人会泄露我的数据,那么我可以更改他们的密码。 –

+2

你不需要'password_confirmation'只需'password'即可 –

相关问题