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 + -
显示快捷键?