authenticate(name, password)click to toggle source
# File app/models/user.rb, line 20
20: defUser.authenticate(name, password)
21: ifuser = find_by_name(name)
22: ifuser.hashed_password==encrypt_password(password, user.salt)
23: user
24: end
25: end
26: end
encrypt_password(password, salt)click to toggle source
# File app/models/user.rb, line 28
28: defUser.encrypt_password(password, salt)
29: Digest::SHA2.hexdigest(password+"blabla"+salt)
30: end
Public Instance Methods
ensure_an_admin_remains()click to toggle source
# File app/models/user.rb, line 14
14: defensure_an_admin_remains
15: ifUser.count.zero?
16: raise"Nelze odstranit posledního uživatele"
17: end
18: end
password=(password)click to toggle source
‘password’ je virtuální atribut
# File app/models/user.rb, line 33
33: defpassword=(password)
34: @password = password
35:
36: ifpassword.present?
37: generate_salt
38: self.hashed_password = self.class.encrypt_password(password, salt)
39: end
40: end
Private Instance Methods
generate_salt()click to toggle source
# File app/models/user.rb, line 48
48: defgenerate_salt
49: self.salt = self.object_id.to_s+rand.to_s
50: end
password_must_be_present()click to toggle source
# File app/models/user.rb, line 44
44: defpassword_must_be_present
45: errors.add(:password, "Chybí heslo") unlesshashed_password.present?
46: end