ruby-on-rails - BCrypt 无效哈希 : Can't create an admin user

标签 ruby-on-rails postgresql passwords admin bcrypt

我一直在尝试为我的应用程序创建一个管理员帐户,但是当我以“admin”身份登录时,我收到 BCrypt 无效哈希错误。它为我在种子文件中创建的每个用户执行此操作。当通过我的应用程序中的注册表单创建用户时,它就可以工作。我已采取一切措施让它发挥作用,但它只是没有发生。我在这个问题上碰壁了。我需要有人为我指明正确的方向。

种子文件

Player.create({user_name:'caddyshack3', score: 0, password_digest:'corinacorina' })
Player.create({user_name:'maryjane9', score: 0, password_digest: 'nicety'})
Player.create({user_name:'admin', score: 0, password_digest:'9905', role:'admin'})

玩家模型

class Player < ActiveRecord::Base
has_secure_password

def admin?
    self.admin == 'admin'
end

end

应用程序 Controller

  class ApplicationController < ActionController::Base

  protect_from_forgery with: :null_session

  helper_method :current_player

  def current_player
  @current_player ||= Player.find(session[:player_id]) if  session[:player_id]
  end

  def require_player
redirect_to '/login' unless current_player
  end

def require_admin
end
end

最佳答案

也试试这个:

Player.create({user_name:'caddyshack3', score: 0, password_digest: BCrypt::Password.create("corinacorina") })    

确保您已安装gem 'bcrypt', '~> 3.1.7'

关于ruby-on-rails - BCrypt 无效哈希 : Can't create an admin user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32019719/

相关文章:

google-chrome - Google Chrome 扩展程序中密码的存储

php - Laravel + PostgreSQL Ltree

ruby-on-rails - Mavericks 上的 rake db :migrate with rails 4. 1 错误

ruby-on-rails - 当您不想使用图像标签时如何获取 Rails 图像路径

MySQL 外键约束在我的 Rails 3.1 应用程序中抛出 ActiveRecord::StatementInvalid(锁定等待超时)

sql - 当行与其他表中的多行匹配时连接表

postgresql - psql 传递变量

android - 在 Android 3.0 中,如何强制用户在密码过期超时后更改密码?

django - 在django框架的密码散列中包含 'random salt'是什么意思?

javascript - 在 ruby​​ on Rails 中渲染多个 vue 元素