问题标签 [bcrypt-ruby]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
529 浏览

ruby-on-rails - ruby on rails,由于 bcrypt_ext (LoadError),运行服务器无法正常工作

我从https://github.com/mhartl/rails_tutorial_3rd_edition_gemfiles/blob/master/sample_app/Gemfile获得了宝石

然后我收到一条错误消息,例如

0 投票
1 回答
492 浏览

ruby-on-rails - 在 RSpec 控制器规范中模拟使用错误密码的登录尝试会引发 BCrypt::Errors::InvalidHash

我目前正在开发的应用程序的 SessionController 规范如下所示:

前两个上下文块完全按预期工作。第三个上下文块中的示例失败:

根据我在 StackOverflow 上找到的信息以及查看 bcrypt-ruby 源代码,这意味着存储在数据库中的密码摘要无效。由于所有三个块都使用同一个let块来创建用户,所以我不知道为什么密码不正确而不是正确的密码会发生这种情况。当我启动rails s并尝试通过视图登录时,它也可以正常工作。有谁知道发生了什么?

我们使用的是内置的 has_secure_password 方法,我们没有使用 devise 或任何其他与身份验证相关的 gem。

0 投票
1 回答
1557 浏览

ruby-on-rails - rake db:migrate 不工作并在终端中给出错误

所以我试图运行 rake db:migrate 并在终端中收到此错误?

我最近将 bcrypt 添加到我的 gemfile 中,因为我尝试运行“rails destroy devise user”,它给了我一个关于 bcrypt 的错误,然后我去了堆栈溢出,有人说将它添加到你的 gemfile。但不是它给我的特定版本,(是一个过时的 gem 文件)我只是添加了这个:

0 投票
1 回答
1882 浏览

ruby-on-rails - rails 4.2.4 未初始化的常量用户::BCRYPT

我有一个带有登录身份验证的 Rails 应用程序,我从 Micheal Hartl 的 RoR 教程中获得。登录有一个记住我的 cookie 登录。问题是当用户cookie存在并且我启动我的rails应用程序时,我收到了这个错误

在没有记住我的情况下登录可以正常工作。我已经尝试过我发现的解决方案,例如在 gemfile 或用户模型中放置 require 标记。我什至将我的 ruby​​ 从 2.2.3 降级到 2.1.7 看看它是否会修复,但它没有。

这是我的用户模型

结尾

0 投票
1 回答
6124 浏览

ruby-on-rails - BCrypt::Errors::InvalidHash in SessionsController#create

我尝试查看有关此错误的先前问题和答案,但解决方案似乎对我不起作用。在线抛出错误:

我能够注册一个用户(在一家公司下)并注册一家公司,但每当我尝试登录用户时,我都会收到此 BCrypt 错误。一旦我的用户模型和公司模型等,我才开始使用 has_secure_password 等内容. 到位,我后来才意识到不保护密码是愚蠢的。即使我现在创建一个新用户,登录时仍然会出现此错误。

我认为这可能是由于我与用户的关系?(也许完全不是,我对 Ruby 很陌生!)我的用户属于一家公司(多对一),当他们注册时,他们从列表中选择一家公司,以便在数据库中列出。这是我与此错误相关的代码:

请帮帮我,我把头发扯掉了:(

0 投票
1 回答
1353 浏览

ruby-on-rails - 如何使用 has_secure_password 更新密码属性?

我用于has_secure_password模型User。现在我正在尝试使用 AJAX 来更新一些用户的属性,包括密码。但是,看起来 with has_secure_password,该password属性不再存在,由 代替password_digest。所以当我想做的时候

我有:

ActiveModel::MissingAttributeError(无法写入未知属性 password

问题是:在这种情况下更新用户密码的正确方法是什么?我是否需要手动计算哈希并更新password_digest

编辑:

我正在使用 Rails 4.2.1

0 投票
2 回答
16891 浏览

ruby-on-rails - 如何在 Rails 4.2 中使用 has_secure_password 加密密码

我有一个 API,我安装了下一个 gem

在我的用户模型中,我明确指出:

我的数据库有一个带名称的字段

运行播种机时是的,密码是加密的,但是当尝试从我的方法创建新用户时,密码是正常的,这是我创建新用户的方法

谢谢 :)

0 投票
0 回答
304 浏览

ruby-on-rails - Bcrypt 和 Rails 只需输入密码即可找到管理员用户

我正在构建一个具有 3 个模型(客户、积分、管理员)的应用程序。客户有积分,积分属于客户。然后 Admin 将 user_name 和 password_hash 作为属性,通过 Bcrypt 存储密码。一旦客户通过电话号码搜索自己,他们的积分就会出现。但是要添加积分,管理员必须使用密码(4 位代码)登录,然后才能访问添加积分。

我在如何仅通过密码而不是用户名和密码找到管理员时遇到了麻烦。

0 投票
1 回答
276 浏览

ruby-on-rails - 使用 Bcrypt 的正确做法

本指南展示了如何将 Bcrypt 与 Rails 一起使用,但它在实现上与关于 Bcrypt的Rails 文档有很大不同。


指南版

设置密码

验证密码

但是文档使用内置方法做同样的事情。


文档版本

设置密码

设置user.password或设置两者user.passworduser.password_confirmation值,然后调用user.save将调用 Bcrypt 的一些回调,这些回调将获取密码值并生成摘要并将其保存在数据库中。

验证密码

该方法user.authenticate(password)user根据密码参数是否匹配返回 false 或实例变量user.password_digest


问题

  • 自从我第一次看到它以来,我一直使用文档版本,但是该指南是否遵循了一些更好的做法?

  • 导游为什么要改写轮子?这似乎很不赖西。

  • 这只是 Bcrypt 或 Rails 版本的不同吗?

0 投票
2 回答
587 浏览

ruby-on-rails - 由于 bcrypt,无法为我的应用程序运行 puma 服务器

我的机器是 Windows 8 32 位机器,我有 ruby​​ 2.1.8。

当我尝试在 puma 和 rails 服务器中打开我的应用程序时遇到问题。我什至无法运行bundle install。错误是:

并且捆绑安装错误是:

同样的问题也发生在 bcrypt 版本 3.0.0 和 3.1.1 上

我的 Gemfile 是: