Advertisement
Guest User

Untitled

a guest
Jul 31st, 2017
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.83 KB | None | 0 0
  1. ## Error:
  2.  
  3. SyntaxError in Posts#index
  4.  
  5. Showing app/views/posts/_post_view.rhtml where line #3 raised:
  6.  
  7. ./script/../config/../vendor/rails/activesupport/lib/active_support/dependencies.rb:393:in `load': ./script/../config/../app/models/user.rb:31: parse error, unexpected '.', expecting ')'
  8. def encrypt(password, u.user_id)
  9. ^
  10. ./script/../config/../app/models/user.rb:74: parse error, unexpected kEND, expecting $
  11.  
  12.  
  13. ## remote_user.rb model
  14.  
  15. class RemoteUser < ActiveRecord::Base
  16.  
  17. self.table_name = "user"
  18.  
  19. RemoteUser.establish_connection(
  20. :adapter => "mysql",
  21. :host => "wiki.com",
  22. :username => "remoteuser",
  23. :password => "remotepass",
  24. :database => "wikidb"
  25. )
  26.  
  27. end
  28.  
  29.  
  30. ## user.rb model
  31. require 'digest/sha1'
  32. class User < ActiveRecord::Base
  33. has_many :posts
  34. has_many :comments
  35. # Virtual attribute for the unencrypted password
  36. attr_accessor :password
  37.  
  38. validates_presence_of :login, :email
  39. validates_presence_of :password, :if => :password_required?
  40. validates_presence_of :password_confirmation, :if => :password_required?
  41. validates_length_of :password, :within => 4..40, :if => :password_required?
  42. validates_confirmation_of :password, :if => :password_required?
  43. validates_length_of :login, :within => 3..40
  44. validates_length_of :email, :within => 3..100
  45. validates_uniqueness_of :login, :email, :case_sensitive => false
  46. before_save :encrypt_password
  47.  
  48. # Authenticates a user by their login name and unencrypted password. Returns the user or nil.
  49. def self.authenticate(login, password)
  50. u = RemoteUser.find_by_user_name(login.capitalize)
  51. #u = find_by_login(login) # need to get the salt
  52. u && u.authenticated?(password) ? u : nil
  53. end
  54.  
  55. # Encrypts some data with the salt.
  56. # def self.encrypt(password, salt)
  57. # Digest::SHA1.hexdigest("--#{salt}--#{password}--")
  58. # end
  59.  
  60. # def self.encrypt(password, u.user_id)
  61. def encrypt(password, u.user_id)
  62. Digest::MD5.hexdigest("u.user_id-" Digest::MD5.hexdigest("password"))
  63. end
  64.  
  65. # Encrypts the password with the user salt
  66. def encrypt(password)
  67. # self.class.encrypt(password, salt)
  68. self.class.encrypt(password, u.user_id)
  69. end
  70.  
  71. def authenticated?(password)
  72. # crypted_password == encrypt(password)
  73. u.user_password == encrypt(password)
  74. end
  75.  
  76. def remember_token?
  77. remember_token_expires_at && Time.now.utc < remember_token_expires_at
  78. end
  79.  
  80. # These create and unset the fields required for remembering users between browser closes
  81. def remember_me
  82. self.remember_token_expires_at = 2.weeks.from_now.utc
  83. self.remember_token = encrypt("#{email}--#{remember_token_expires_at}")
  84. save(false)
  85. end
  86.  
  87. def forget_me
  88. self.remember_token_expires_at = nil
  89. self.remember_token = nil
  90. save(false)
  91. end
  92.  
  93. protected
  94. # before filter
  95. def encrypt_password
  96. return if password.blank?
  97. self.salt = Digest::SHA1.hexdigest("--#{Time.now.to_s}--#{login}--") if new_record?
  98. self.crypted_password = encrypt(password)
  99. end
  100.  
  101. def password_required?
  102. crypted_password.blank? || !password.blank?
  103. end
  104. end
  105.  
  106. ## Here is the database that remote_user.rb is using:
  107.  
  108. mysql> desc user;
  109. -------------------------- ----------------- ------ ----- --------- ----------------
  110. | Field | Type | Null | Key | Default | Extra |
  111. -------------------------- ----------------- ------ ----- --------- ----------------
  112. | user_id | int(5) unsigned | NO | PRI | NULL | auto_increment |
  113. | user_name | varchar(255) | NO | UNI | | |
  114. | user_real_name | varchar(255) | NO | | | |
  115. | user_password | tinyblob | NO | | | |
  116. | user_newpassword | tinyblob | NO | | | |
  117. | user_email | tinytext | NO | | | |
  118. | user_options | blob | NO | | | |
  119. | user_touched | varchar(14) | NO | | | |
  120. | user_token | varchar(32) | NO | | | |
  121. | user_email_authenticated | varchar(14) | YES | | NULL | |
  122. | user_email_token | varchar(32) | YES | MUL | NULL | |
  123. | user_email_token_expires | varchar(14) | YES | | NULL | |
  124. | user_registration | char(14) | YES | | NULL | |
  125. -------------------------- ----------------- ------ ----- --------- ----------------
  126. 13 rows in set (0.24 sec)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement