虽然,这不是CouchDB特定的,但我使用的库是。我在Ruby中使用模型来创建如下所示的User模型:
class User < CouchRest::Model::Base
use_database 'sample'
property :_id, String
property :email, String
# property :password
timestamps!
end我对这里的密码存储很困惑。我想使用BCrypt,但是当我这样做时:
class User < CouchRest::Model::Base
include BCrypt
use_database 'sample'
property :_id, String
property :email, String
property :password, BCryptHash
timestamps!
end我被告知User::BCryptHash是一个未初始化的常数。当然,我事先需要bcrypt库。你能帮我解决这个BCrypt问题,或者建议一种在CouchDB中存储密码的不同方式吗?我看过散列密码,但是我不知道如何实现它。
发布于 2013-11-24 09:57:04
require 'couchrest_model'
class User < CouchRest::Model::Base
include ActiveModel::SecurePassword
use_database 'sample'
has_secure_password
property :username, String
property :email, String
property :password_digest, String
timestamps!
design { view :by_email }
end
User.create(:username => 'rafalchmiel', :email => 'hi@rafalchmiel.com', :password => 'password', :password_confirmation => 'password')
User.create(:username => 'bar', :email => 'hi@bar.com', :password => 'password213', :password_confirmation => 'password213')
User.create(:username => 'foo', :email => 'hi@foo.com', :password => 'password12111', :password_confirmation => 'password12111')更多关于为什么在这个GitHub问题中工作的信息。
https://stackoverflow.com/questions/20164585
复制相似问题