Advertisement
Guest User

Untitled

a guest
Jul 30th, 2017
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.57 KB | None | 0 0
  1. #user_controller.rb
  2. class UserController < ApplicationController
  3.  
  4. #def index
  5. #render :action=>:register
  6. #end
  7.  
  8. def register
  9. @customer = Customer.new
  10. end
  11.  
  12. def create
  13. @customer = Customer.new(params[:customer])
  14. if @customer.save
  15. flash[:notice] = 'Customer was successfully created.'
  16. redirect_to "/list"
  17. else
  18. render :action => 'register'
  19. end
  20. end
  21.  
  22. def login
  23. session[:user_id]=nil
  24. user = Customer.login(params[:email],params[:password])
  25. if user
  26. session[:user_id]=user.id
  27. session[:user_email]=user.email
  28. redirect_to(:controller=>:list)
  29. else
  30. flash[:notice]="Invalid user/password combination"
  31. end
  32. end
  33.  
  34. end
  35.  
  36. #customer.rb
  37. def password
  38. @password
  39. end
  40.  
  41. def password=(pwd)
  42. @password=pwd
  43. create_new_salt
  44. self.hashed_password = User.encrypted_password(self.password, self.salt)
  45. end
  46.  
  47. def self.login(email, password)
  48. user = self.find_by_email(email) #can do a find_by_whatevercolumn
  49. if user
  50. expected_password = encrypted_password(password, user.salt)
  51. if user.hashed_password != expected_password
  52. user=nil
  53. end
  54. end
  55. user
  56. end
  57.  
  58. private
  59.  
  60. def create_new_salt
  61. self.salt = self.object_id.to_s rand.to_s
  62. end
  63.  
  64. def self.encrypted_password(password, salt)
  65. string_to_hash = password "arg0drulz" salt
  66. Digest::SHA1.hexdigest(string_to_hash)
  67. end
  68.  
  69. #welcome -> index.rhtml
  70.  
  71. <%= start_form_tag({:controller=>"user", :action=>"login"}) %>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement