effective_logging 1.5.7 → 1.5.8
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ad6d1fb9c0e708830f7ec12173354a1e6692fa0a
|
4
|
+
data.tar.gz: 89c073378f6b6f441a2daa78ce034671a6e92db3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 50d647c3c66443229c8a0aa26a2c58086e5a24d8f662753b2d5567d4ab9315a79bdc4c72d4b0882849611c26057a79f5c02a100083376f2aa2aa735096cc952e
|
7
|
+
data.tar.gz: 33a0d6419f26c57ccae3abe1491273c5dfa6680ec26b3be93bd1615630560a94747a2b161110738c3fb4a64ff5933af14b5fbd96ec056fce4adb7b987b3e9f43
|
@@ -48,7 +48,7 @@ module EffectiveLogging
|
|
48
48
|
|
49
49
|
# This has to be run after initialization or User hasn't been loaded yet
|
50
50
|
config.after_initialize do
|
51
|
-
if EffectiveLogging.user_logins_enabled
|
51
|
+
if EffectiveLogging.user_logins_enabled || EffectiveLogging.user_logouts_enabled
|
52
52
|
ActiveSupport.on_load :active_record do
|
53
53
|
if defined?(Devise)
|
54
54
|
EffectiveLogging::UserLogger.create_warden_hooks()
|
@@ -2,51 +2,51 @@ module EffectiveLogging
|
|
2
2
|
class UserLogger
|
3
3
|
def self.create_warden_hooks
|
4
4
|
Warden::Manager.after_authentication do |user, warden, opts|
|
5
|
-
|
6
|
-
|
7
|
-
::EffectiveLogger.success('user login',
|
8
|
-
:user => user,
|
9
|
-
:ip => warden.request.ip.presence,
|
10
|
-
:referrer => warden.request.referrer,
|
11
|
-
:user_agent => warden.request.user_agent
|
12
|
-
)
|
13
|
-
end
|
14
|
-
|
15
|
-
Warden::Manager.after_set_user do |user, warden, opts|
|
16
|
-
return if EffectiveLogging.supressed?
|
17
|
-
|
18
|
-
if (opts[:event] == :set_user rescue false) # User has just reset their password and signed in
|
5
|
+
if EffectiveLogging.user_logins_enabled && !EffectiveLogging.supressed?
|
19
6
|
::EffectiveLogger.success('user login',
|
20
7
|
:user => user,
|
21
8
|
:ip => warden.request.ip.presence,
|
22
9
|
:referrer => warden.request.referrer,
|
23
|
-
:user_agent => warden.request.user_agent
|
24
|
-
:notes => 'after password reset'
|
10
|
+
:user_agent => warden.request.user_agent
|
25
11
|
)
|
26
12
|
end
|
27
13
|
end
|
28
14
|
|
29
|
-
Warden::Manager.
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
elsif last_request_at.is_a? String
|
40
|
-
last_request_at = Time.parse(last_request_at)
|
15
|
+
Warden::Manager.after_set_user do |user, warden, opts|
|
16
|
+
if EffectiveLogging.user_logins_enabled && !EffectiveLogging.supressed?
|
17
|
+
if (opts[:event] == :set_user rescue false) # User has just reset their password and signed in
|
18
|
+
::EffectiveLogger.success('user login',
|
19
|
+
:user => user,
|
20
|
+
:ip => warden.request.ip.presence,
|
21
|
+
:referrer => warden.request.referrer,
|
22
|
+
:user_agent => warden.request.user_agent,
|
23
|
+
:notes => 'after password reset'
|
24
|
+
)
|
41
25
|
end
|
26
|
+
end
|
27
|
+
end
|
42
28
|
|
43
|
-
|
44
|
-
|
45
|
-
|
29
|
+
Warden::Manager.before_logout do |user, warden, opts|
|
30
|
+
if EffectiveLogging.user_logouts_enabled && !EffectiveLogging.supressed?
|
31
|
+
if user.respond_to?(:timedout?) && user.respond_to?(:timeout_in)
|
32
|
+
scope = opts[:scope]
|
33
|
+
last_request_at = (warden.request.session["warden.#{scope}.#{scope}.session"]['last_request_at'] rescue Time.zone.now)
|
34
|
+
|
35
|
+
# As per Devise
|
36
|
+
if last_request_at.is_a? Integer
|
37
|
+
last_request_at = Time.at(last_request_at).utc
|
38
|
+
elsif last_request_at.is_a? String
|
39
|
+
last_request_at = Time.parse(last_request_at)
|
40
|
+
end
|
41
|
+
|
42
|
+
if user.timedout?(last_request_at) && !warden.request.env['devise.skip_timeout']
|
43
|
+
::EffectiveLogger.success('user logout', :user => user, :timedout => true)
|
44
|
+
else
|
45
|
+
::EffectiveLogger.success('user logout', :user => user)
|
46
|
+
end
|
47
|
+
else # User does not respond to timedout
|
46
48
|
::EffectiveLogger.success('user logout', :user => user)
|
47
49
|
end
|
48
|
-
else # User does not respond to timedout
|
49
|
-
::EffectiveLogger.success('user logout', :user => user)
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
data/lib/effective_logging.rb
CHANGED