【发布时间】:2013-06-26 14:27:17
【问题描述】:
我正在将用户数据库从 PHP 迁移到 Rails。我已经安装了 Devise Gem,现在运行良好。另外,我发现了如何将现有用户的密码迁移到 Rails 的提示
我已将旧密码添加到与 Devise 相同的 encrypted_password 字段中,因此当设计无法验证时,请检查旧密码:
# user.rb
def valid_password?(password)
return false if encrypted_password.blank?
require 'digest/sha1'
password_salt = 'my_php_framework_salt'
Devise.secure_compare(Digest::SHA1.hexdigest(password_salt+password), self.encrypted_password)
end
它允许使用旧密码登录,但不适用于新用户的原始设计密码。我认为这个valid_password? 方法应该return true 来设计密码。如何解决这个问题?
【问题讨论】:
标签: ruby-on-rails devise