diff --git a/app/models/user.rb b/app/models/user.rb --- a/app/models/user.rb +++ b/app/models/user.rb @@ -37,7 +37,11 @@ end def authenticated?(password) - hashed_password == User.encrypt(password,self.salt) + if self.activated + hashed_password == User.encrypt(password,self.salt) + else + false + end end def admin? @@ -72,6 +76,14 @@ self.alias=e end + def activation_key + Digest::SHA1.hexdigest(self.hashed_password)[0..7] + end + + def verify_activation_key(key) + key == activation_key + end + protected def encrypt_new_password return if password.blank?