user.rb.orig

来自「ruby on rails web敏捷开发之路第二版 源代码」· ORIG 代码 · 共 63 行

ORIG
63
字号
require 'digest/sha1'#START:validateclass User < ActiveRecord::Base    validates_presence_of     :name                              validates_uniqueness_of   :name   attr_accessor :password_confirmation  validates_confirmation_of :password  def validate    errors.add_to_base("Missing password") if hashed_password.blank?  end#END:validate    #START:login  def self.authenticate(name, password)    user = self.find_by_name(name)    if user      expected_password = encrypted_password(password, user.salt)      if user.hashed_password != expected_password        user = nil      end    end    user  end  #END:login    # 'password' is a virtual attribute  #START:accessors  def password    @password  end    def password=(pwd)    @password = pwd    create_new_salt    self.hashed_password = User.encrypted_password(self.password, self.salt)  end  #END:accessors      #START:encrypted_password  private    def self.encrypted_password(password, salt)    string_to_hash = password + "wibble" + salt  # 'wibble' makes it harder to guess    Digest::SHA1.hexdigest(string_to_hash)  end  #END:encrypted_password  #START:create_new_salt  def create_new_salt    self.salt = self.object_id.to_s + rand.to_s  end  #END:create_new_salt#START:validate  end#END:validate

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?