Guest User

Untitled

a guest
May 19th, 2018
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.73 KB | None | 0 0
  1. require 'digest/sha2'
  2.  
  3. class User < ActiveRecord::Base
  4.  
  5. validates_uniqueness_of :username
  6. validates_presence_of :username, :email, :name
  7. has_many :sendlists
  8. has_many :attachments
  9. has_many :looks
  10. has_many :message_templates
  11.  
  12. attr_accessor :password
  13.  
  14. def password=(pass)
  15. salt = [Array.new(6){rand(256).chr}.join].pack("m").chomp
  16.  
  17. self.password_salt, self.password_hash =
  18. salt, Digest::SHA256.hexdigest(pass + salt)
  19. end
  20.  
  21. def self.authenticate(username, password)
  22. user = User.find(:first, :conditions => ['username = ?', username])
  23. if user.blank? ||
  24. Digest::SHA256.hexdigest(password + user.password_salt) != user.password_hash
  25. raise "Username or password invalid"
  26. end
  27. end
  28.  
  29.  
  30. end
Add Comment
Please, Sign In to add comment