authentasaurus 0.6.5 → 0.6.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -19,11 +19,15 @@ module ActiveRecord::ActsAsAuthenticatable
19
19
 
20
20
 
21
21
  ## Authenticates the username and password
22
- def authenticate(username, password)
22
+ def authenticate(username, password, remember = false)
23
23
  user=self.find_by_username username
24
24
  if user
25
25
  expected_password=encrypt_password(password, user.password_seed)
26
- user = nil unless expected_password == user.hashed_password && user.active
26
+ unless expected_password == user.hashed_password && user.active
27
+ user = nil
28
+ else
29
+ user.create_remember_me_token if remember
30
+ end
27
31
  end
28
32
  return user
29
33
  end
@@ -8,11 +8,15 @@ module ActiveRecord::ActsAsAuthenticatableValidatable
8
8
 
9
9
  module ClassMethods
10
10
  ## Authenticates the username and password
11
- def authenticate(username, password)
11
+ def authenticate(username, password, remember = false)
12
12
  user=self.find_by_username username
13
13
  if user
14
14
  expected_password=encrypt_password(password, user.password_seed)
15
- user = nil unless expected_password == user.hashed_password && user.active && user.validation.nil?
15
+ unless expected_password == user.hashed_password && user.active && user.validation.nil?
16
+ user = nil
17
+ else
18
+ user.create_remember_me_token if remember
19
+ end
16
20
  end
17
21
  return user
18
22
  end
@@ -6,14 +6,14 @@ module ActiveResource::ActsAsAuthenticatable
6
6
 
7
7
  module ClassMethods
8
8
  ## Authenticates the username and password
9
- def authenticate(username, password)
9
+ def authenticate(username, password, remember = false)
10
10
  case(self.format)
11
11
  when ActiveResource::Formats::XmlFormat
12
- user = self.new Hash.from_xml(self.post(:signin,:username => username, :password => password).body).values.first
12
+ user = self.new Hash.from_xml(self.post(:signin,:username => username, :password => password, :remember => remember).body).values.first
13
13
  when ActiveResource::Formats::JsonFormat
14
- user = self.new ActiveSupport::JSON.decode(self.post(:signin,:username => username, :password => password).body)
14
+ user = self.new ActiveSupport::JSON.decode(self.post(:signin,:username => username, :password => password, :remember => remember).body)
15
15
  else
16
- user = self.new Hash.from_xml(self.post(:signin,:username => username, :password => password).body).values.first
16
+ user = self.new Hash.from_xml(self.post(:signin,:username => username, :password => password, :remember => remember).body).values.first
17
17
  end
18
18
 
19
19
  unless user.nil?
@@ -25,6 +25,7 @@ module ActiveResource::ActsAsAuthenticatable
25
25
  last_update_datetime = (last_update.kind_of?(String)) ? (DateTime.parse(last_update)) : (last_update)
26
26
 
27
27
  if local_user.updated_at < last_update_datetime
28
+
28
29
  local_user.update_attributes user.attributes
29
30
  end
30
31
  else
@@ -43,7 +44,11 @@ module ActiveResource::ActsAsAuthenticatable
43
44
  last_update = user.attributes.delete "updated_at"
44
45
  local_user = self.class.sync_to.find_or_initialize_by_username user.username, user.attributes
45
46
 
46
- local_user.update_attributes user.attributes
47
+ unless local_user.new_record?
48
+ local_user.update_attributes user.attributes
49
+ else
50
+ local_user.save
51
+ end
47
52
  else
48
53
  false
49
54
  end
@@ -52,12 +52,11 @@ module Authentasaurus::Models::Session
52
52
 
53
53
  ret = true
54
54
  session_types.each do |type|
55
- @user = type.to_s.camelize.constantize.authenticate(self.username, self.password)
55
+ @user = type.to_s.camelize.constantize.authenticate(self.username, self.password, self.remember == "1")
56
56
  if @user.nil?
57
57
  self.errors.add_to_base I18n.t(:invalid_login, :scope => [:authentasaurus, :messages, :sessions])
58
58
  ret &= false
59
59
  else
60
- @user.create_remember_me_token if self.remember == "1"
61
60
  ret = true
62
61
  break
63
62
  end
@@ -28,7 +28,7 @@ module Authentasaurus::SessionsController
28
28
  end
29
29
  session[:user_id] = @session.user.id
30
30
  session[:user_permissions] = {:read => @session.user.permissions.collect{|per| per.area.name if per.read}, :write => @session.user.permissions.collect{|per| per.area.name if per.write}}
31
- format.html { redirect_to session[:original_url] || root_url }
31
+ format.html { redirect_to session[:original_url] || (defined?(signin_redirect_path).nil? ? root_path : signin_redirect_path) }
32
32
  else
33
33
  format.html { render :action => :new }
34
34
  end
@@ -48,7 +48,9 @@ module Authentasaurus::SessionsController
48
48
 
49
49
  private
50
50
  def check_is_logged_in
51
- redirect_to root_path if session[:user_id]
51
+ if is_logged_in?
52
+ redirect_to defined?(signin_redirect_path).nil? ? root_path : signin_redirect_path
53
+ end
52
54
  end
53
55
  end
54
56
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: authentasaurus
3
3
  version: !ruby/object:Gem::Version
4
- hash: 13
4
+ hash: 11
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 6
9
- - 5
10
- version: 0.6.5
9
+ - 6
10
+ version: 0.6.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - Omar Mekky
@@ -18,7 +18,7 @@ autorequire:
18
18
  bindir: bin
19
19
  cert_chain: []
20
20
 
21
- date: 2010-08-12 00:00:00 +02:00
21
+ date: 2010-08-16 00:00:00 +02:00
22
22
  default_executable:
23
23
  dependencies: []
24
24