【问题标题】:BCrypt Invalid Hash: Can't create an admin userBCrypt 无效哈希:无法创建管理员用户
【发布时间】:2015-11-08 06:42:55
【问题描述】:

我一直在尝试为我的应用创建管理员帐户,但是当我以“管理员”身份登录时,我收到 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

应用程序控制器

  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

【问题讨论】:

  • 尝试从控制台rails c创建一个用户并显示你遇到的错误。

标签: ruby-on-rails postgresql passwords admin bcrypt


【解决方案1】:

也试试这个:

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

确保您已安装 gem 'bcrypt', '~&gt; 3.1.7'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多