【问题标题】:Rails 3 + Devise: How do I change other user's passwords from an admin role?Rails 3 + Devise:如何从管理员角色更改其他用户的密码?
【发布时间】:2012-05-04 04:09:31
【问题描述】:

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

【问题讨论】:

    标签: ruby-on-rails devise passwords


    【解决方案1】:

    我可能误解了这个问题,但它应该很简单;

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

    那么他们的密码将是'anewpassword'

    【讨论】:

    • 问题是 Devise 将密码存储在“encrypted_pa​​ssword”字段中(我认为它使用 MD5 或类似的),并且诸如“qweqwe”之类的密码变为“$2a$10$TqfBNCfMx3NfDoLFPVKtSuEKmxLkhQsrLSwLI6dSuGCHNkmO3Ggfm”。这就是为什么我不能像那样直接存储密码。
    • 你永远不想存储未加密的密码......永远!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-27
    • 2011-02-12
    相关资源
    最近更新 更多