Sha256: fb1e13d81950dd3021ba87b7211a38100c552ffebafd80640a036eac330f38c3

Contents?: true

Size: 1.17 KB

Versions: 92

Compression:

Stored size: 1.17 KB

Contents

class Caboose::Authenticator

  def authenticate(username, password, site = nil)
    resp = Caboose::StdClass.new(
      'error' => nil,
      'user' => nil 
    )
    pass = Digest::SHA1.hexdigest(Caboose::salt + password)
    
    user = Caboose::User.where(:username => username, :site_id => site.id).first
    user = Caboose::User.where(:email    => username, :site_id => site.id).first if user.nil?
            
    valid_credentials = false
    if user && user.password == pass 
      valid_credentials = true
    elsif site      
      mp = Caboose::Setting.where(:site_id => site.id, :name => 'master_password').first
      mp = mp ? mp.value : nil
      if mp && mp.strip.length > 0 && mp == pass
        valid_credentials = true
      end
    end
    
    if valid_credentials
      resp.user = user
    else
      resp.error = "Invalid credentials"
    end
    
    #resp.user = Caboose::User.where(:username => username, :password => pass).first    
    #if (resp.user.nil?)
    #  resp.user = Caboose::User.where(:email => username, :password => pass).first
    #end                
    #resp.error = "Invalid credentials" if resp.user.nil?
        
    return resp
  end
  
end

Version data entries

92 entries across 92 versions & 1 rubygems

Version Path
caboose-cms-0.6.16 app/models/caboose/authenticator.rb
caboose-cms-0.6.15 app/models/caboose/authenticator.rb
caboose-cms-0.6.14 app/models/caboose/authenticator.rb
caboose-cms-0.6.13 app/models/caboose/authenticator.rb
caboose-cms-0.6.12 app/models/caboose/authenticator.rb
caboose-cms-0.6.11 app/models/caboose/authenticator.rb
caboose-cms-0.6.10 app/models/caboose/authenticator.rb
caboose-cms-0.6.9 app/models/caboose/authenticator.rb
caboose-cms-0.6.8 app/models/caboose/authenticator.rb
caboose-cms-0.6.7 app/models/caboose/authenticator.rb
caboose-cms-0.6.6 app/models/caboose/authenticator.rb
caboose-cms-0.6.5 app/models/caboose/authenticator.rb
caboose-cms-0.6.4 app/models/caboose/authenticator.rb
caboose-cms-0.6.3 app/models/caboose/authenticator.rb
caboose-cms-0.6.2 app/models/caboose/authenticator.rb
caboose-cms-0.6.1 app/models/caboose/authenticator.rb
caboose-cms-0.5.238 app/models/caboose/authenticator.rb
caboose-cms-0.5.237 app/models/caboose/authenticator.rb
caboose-cms-0.5.236 app/models/caboose/authenticator.rb
caboose-cms-0.5.235 app/models/caboose/authenticator.rb