Mongoid and has_secure_password

2019-03-25 13:50发布

问题:

I am trying to use rails 3.1 authentication using mongoid instead of active model

 class User 
  include Mongoid::Document
  include ActiveModel::SecurePassword
  has_secure_password  
  validates_presence_of :password, :on => :create
  attr_accessor :email, :password, :password_confirmation 
  field :email, :type => String
  field :password_digest, :type => String
 end

the problem is password_digest is not recognized by the bycrypt as in active model example http://railscasts.com/episodes/270-authentication-in-rails-3-1

Thanks

回答1:

Put

has_secure_password

After

field :password_digest, :type => String


回答2:

For anyone who is interested, the most minimal requirement for using has_secure_password with Mongoid is simply the inclusion of ActiveModel::SecurePassword in the model.

class User
  include Mongoid::Document
  include ActiveModel::SecurePassword

  field :username
  field :password_digest

  has_secure_password
end

Article