diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2018-07-20 16:00:28 +0200 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2018-07-20 16:00:28 +0200 |
commit | 1a39d24d2034ce0d87cd5df630f1226d0beb7dd2 (patch) | |
tree | c8388da831f66373c3c9b1127c41bf906900f460 /config/initializers/warden.rb | |
parent | 33e11345e086678fce7591bcd1d465f879d838e7 (diff) | |
download | gitlab-ce-1a39d24d2034ce0d87cd5df630f1226d0beb7dd2.tar.gz |
Refactor blocked user tracker class
Diffstat (limited to 'config/initializers/warden.rb')
-rw-r--r-- | config/initializers/warden.rb | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/config/initializers/warden.rb b/config/initializers/warden.rb index 450564be1a3..3a81a9a127a 100644 --- a/config/initializers/warden.rb +++ b/config/initializers/warden.rb @@ -4,30 +4,31 @@ Rails.application.configure do |config| end Warden::Manager.before_failure(scope: :user) do |env, opts| - Gitlab::Auth::BlockedUserTracker.log_if_user_blocked(env) + Gitlab::Auth::BlockedUserTracker.new(env).tap do |tracker| + tracker.log_blocked_user_activity! if tracker.user_blocked? - Gitlab::Auth::Activity.new(opts).user_authentication_failed! + Gitlab::Auth::Activity.new(tracker.user, opts).user_authentication_failed! + end end Warden::Manager.after_authentication(scope: :user) do |user, auth, opts| ActiveSession.cleanup(user) - - Gitlab::Auth::Activity.new(opts).user_authenticated! + Gitlab::Auth::Activity.new(user, opts).user_authenticated! end Warden::Manager.after_set_user(scope: :user, only: :fetch) do |user, auth, opts| ActiveSession.set(user, auth.request) - - Gitlab::Auth::Activity.new(opts).user_session_fetched! + Gitlab::Auth::Activity.new(user, opts).user_session_fetched! end Warden::Manager.after_set_user(scope: :user, only: :set_user) do |user, auth, opts| - Gitlab::Auth::Activity.new(opts).user_session_override! + Gitlab::Auth::Activity.new(user, opts).user_session_override! end - Warden::Manager.before_logout(scope: :user) do |user, auth, opts| - ActiveSession.destroy(user || auth.user, auth.request.session.id) - - Gitlab::Auth::Activity.new(opts).user_signed_out! + Warden::Manager.before_logout(scope: :user) do |warden_user, auth, opts| + (warden_user || auth.user).tap do |user| + ActiveSession.destroy(user, auth.request.session.id) + Gitlab::Auth::Activity.new(user, opts).user_signed_out! + end end end |