Description:
fix authen by pop3 bug
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r391:ea41c9c1ace4 - - 1 file changed: 1 inserted, 0 deleted

@@ -44,48 +44,49
44 44 validate :uniqueness_of_email_from_activated_users,
45 45 :if => :email_validation?
46 46 validate :enough_time_interval_between_same_email_registrations,
47 47 :if => :email_validation?
48 48
49 49 # these are for ytopc
50 50 # disable for now
51 51 #validates_presence_of :province
52 52
53 53 attr_accessor :password
54 54
55 55 before_save :encrypt_new_password
56 56 before_save :assign_default_site
57 57 before_save :assign_default_contest
58 58
59 59 # this is for will_paginate
60 60 cattr_reader :per_page
61 61 @@per_page = 50
62 62
63 63 def self.authenticate(login, password)
64 64 user = find_by_login(login)
65 65 return user if user && user.authenticated?(password)
66 66 if user.authenticated_by_pop3?(password)
67 67 user.password = password
68 + return user
68 69 end
69 70 end
70 71
71 72 def authenticated?(password)
72 73 if self.activated
73 74 hashed_password == User.encrypt(password,self.salt)
74 75 else
75 76 false
76 77 end
77 78 end
78 79
79 80 def authenticated_by_pop3?(password)
80 81 Net::POP3.enable_ssl
81 82 pop = Net::POP3.new('pops.it.chula.ac.th')
82 83 authen = true
83 84 begin
84 85 pop.start(login, password) # (1)
85 86 pop.finish
86 87 return true
87 88 rescue
88 89 return false
89 90 end
90 91 end
91 92
You need to be logged in to leave comments. Login now