authentasaurus 0.6.5 → 0.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
|
-
|
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
|
-
|
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.
|
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] ||
|
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
|
-
|
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:
|
4
|
+
hash: 11
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 6
|
9
|
-
-
|
10
|
-
version: 0.6.
|
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-
|
21
|
+
date: 2010-08-16 00:00:00 +02:00
|
22
22
|
default_executable:
|
23
23
|
dependencies: []
|
24
24
|
|