问题标签 [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.
ruby-on-rails - 在 RSpec 控制器规范中模拟使用错误密码的登录尝试会引发 BCrypt::Errors::InvalidHash
我目前正在开发的应用程序的 SessionController 规范如下所示:
前两个上下文块完全按预期工作。第三个上下文块中的示例失败:
根据我在 StackOverflow 上找到的信息以及查看 bcrypt-ruby 源代码,这意味着存储在数据库中的密码摘要无效。由于所有三个块都使用同一个let
块来创建用户,所以我不知道为什么密码不正确而不是正确的密码会发生这种情况。当我启动rails s
并尝试通过视图登录时,它也可以正常工作。有谁知道发生了什么?
我们使用的是内置的 has_secure_password 方法,我们没有使用 devise 或任何其他与身份验证相关的 gem。
ruby-on-rails - rake db:migrate 不工作并在终端中给出错误
所以我试图运行 rake db:migrate 并在终端中收到此错误?
我最近将 bcrypt 添加到我的 gemfile 中,因为我尝试运行“rails destroy devise user”,它给了我一个关于 bcrypt 的错误,然后我去了堆栈溢出,有人说将它添加到你的 gemfile。但不是它给我的特定版本,(是一个过时的 gem 文件)我只是添加了这个:
ruby-on-rails - rails 4.2.4 未初始化的常量用户::BCRYPT
我有一个带有登录身份验证的 Rails 应用程序,我从 Micheal Hartl 的 RoR 教程中获得。登录有一个记住我的 cookie 登录。问题是当用户cookie存在并且我启动我的rails应用程序时,我收到了这个错误
在没有记住我的情况下登录可以正常工作。我已经尝试过我发现的解决方案,例如在 gemfile 或用户模型中放置 require 标记。我什至将我的 ruby 从 2.2.3 降级到 2.1.7 看看它是否会修复,但它没有。
这是我的用户模型
结尾
ruby-on-rails - BCrypt::Errors::InvalidHash in SessionsController#create
我尝试查看有关此错误的先前问题和答案,但解决方案似乎对我不起作用。在线抛出错误:
我能够注册一个用户(在一家公司下)并注册一家公司,但每当我尝试登录用户时,我都会收到此 BCrypt 错误。一旦我的用户模型和公司模型等,我才开始使用 has_secure_password 等内容. 到位,我后来才意识到不保护密码是愚蠢的。即使我现在创建一个新用户,登录时仍然会出现此错误。
我认为这可能是由于我与用户的关系?(也许完全不是,我对 Ruby 很陌生!)我的用户属于一家公司(多对一),当他们注册时,他们从列表中选择一家公司,以便在数据库中列出。这是我与此错误相关的代码:
请帮帮我,我把头发扯掉了:(
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
ruby-on-rails - 如何在 Rails 4.2 中使用 has_secure_password 加密密码
我有一个 API,我安装了下一个 gem
在我的用户模型中,我明确指出:
我的数据库有一个带名称的字段
运行播种机时是的,密码是加密的,但是当尝试从我的方法创建新用户时,密码是正常的,这是我创建新用户的方法
谢谢 :)
ruby-on-rails - Bcrypt 和 Rails 只需输入密码即可找到管理员用户
我正在构建一个具有 3 个模型(客户、积分、管理员)的应用程序。客户有积分,积分属于客户。然后 Admin 将 user_name 和 password_hash 作为属性,通过 Bcrypt 存储密码。一旦客户通过电话号码搜索自己,他们的积分就会出现。但是要添加积分,管理员必须使用密码(4 位代码)登录,然后才能访问添加积分。
我在如何仅通过密码而不是用户名和密码找到管理员时遇到了麻烦。
ruby-on-rails - 使用 Bcrypt 的正确做法
本指南展示了如何将 Bcrypt 与 Rails 一起使用,但它在实现上与关于 Bcrypt的Rails 文档有很大不同。
指南版
设置密码
验证密码
但是文档使用内置方法做同样的事情。
文档版本
设置密码
设置user.password
或设置两者user.password
和user.password_confirmation
值,然后调用user.save
将调用 Bcrypt 的一些回调,这些回调将获取密码值并生成摘要并将其保存在数据库中。
验证密码
该方法user.authenticate(password)
将user
根据密码参数是否匹配返回 false 或实例变量user.password_digest
。
问题
自从我第一次看到它以来,我一直使用文档版本,但是该指南是否遵循了一些更好的做法?
导游为什么要改写轮子?这似乎很不赖西。
这只是 Bcrypt 或 Rails 版本的不同吗?
ruby-on-rails - 由于 bcrypt,无法为我的应用程序运行 puma 服务器
我的机器是 Windows 8 32 位机器,我有 ruby 2.1.8。
当我尝试在 puma 和 rails 服务器中打开我的应用程序时遇到问题。我什至无法运行bundle install
。错误是:
并且捆绑安装错误是:
同样的问题也发生在 bcrypt 版本 3.0.0 和 3.1.1 上
我的 Gemfile 是: