gpt4 book ai didi

ruby-on-rails - SQLite:手动插入加密密码

转载 作者:行者123 更新时间:2023-12-03 18:55:52 26 4
gpt4 key购买 nike

我有一个可能很容易解决的问题,但激烈的谷歌搜索并没有帮助我。问题如下:我有一个带有身份验证系统的 Rails 应用程序。系统的工作方式是有一个管理员用户可以创建其他用户。问题是,我刚刚重置了我的操作系统,现在一切都需要重新连接,包括这个管理员用户。以前,您可以通过应用程序来完成,但这不再需要了。所以现在,您需要使用 sqlite3 手动创建管理员用户。所以我需要做类似的事情:
sqlite3 db/development.sqlite3 "INSERT INTO users VALUES(1,'admin-name','admin-email','admin-password','admin-password',1,1,1,1)"
但这显然不起作用,因为“管理员密码”没有加密。尝试登录应用程序然后给我
BCrypt::Errors::InvalidHash in SessionsController#create
正如预期的那样。

如何插入加密密码,以便以管理员身份登录应用程序?

我感谢您的帮助 :-)
感谢你并致以真诚的问候!

最佳答案

我会做以下两件事之一:

  • 创建一个使用 User 模型创建管理员用户的 rake 任务
  • 拥有一个创建管理员用户的数据库种子文件,再次使用您的 User 类来处理密码加密。

  • 您选择哪一个取决于您打算如何使用它。如果需要创建管理员用户(我希望不是)很常见,那么 rake 任务更有意义。如果您只需要清除数据库并使用可用的管理员重新创建它,那么 db 种子就是要走的路。

    我会避免使用原始 SQL 方法的原因是它太容易搞砸了,而且您可能在数据库中有敏感数据,您不希望任何进行更改的人访问这些数据。像这样的自动化流程可以在 future 节省大量的精力。

    关于ruby-on-rails - SQLite:手动插入加密密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19638158/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com