diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2018-08-03 13:06:38 +0200 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2018-08-03 13:06:38 +0200 |
commit | 0dd0dc2367453f4c63965053a88851332d7c462d (patch) | |
tree | a63645d9b77046c72ef83bf038ecc1faa0fb3e03 /config | |
parent | ef28641d03acf08f286632569983f5ec2eda5871 (diff) | |
download | gitlab-ce-0dd0dc2367453f4c63965053a88851332d7c462d.tar.gz |
Simplify the check of reduntant user logout events
Diffstat (limited to 'config')
-rw-r--r-- | config/initializers/warden.rb | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/config/initializers/warden.rb b/config/initializers/warden.rb index 841f4aa1da9..33f55069c3e 100644 --- a/config/initializers/warden.rb +++ b/config/initializers/warden.rb @@ -30,11 +30,11 @@ Rails.application.configure do |config| end Warden::Manager.before_logout(scope: :user) do |user, auth, opts| + user ||= auth.user activity = Gitlab::Auth::Activity.new(opts) tracker = Gitlab::Auth::BlockedUserTracker.new(user, auth) - ActiveSession.destroy(user || auth.user, auth.request.session.id) - + ActiveSession.destroy(user, auth.request.session.id) activity.user_session_destroyed! ## @@ -42,16 +42,16 @@ Rails.application.configure do |config| # multiple times during the request lifecycle. We want to increment # metrics and write logs only once in that case. # - # 'warden.auth.trackers' is our custom hash key that follows usual - # convention of naming keys in the Rack env hash. If there is more - # than one tracker in the hash it means that we have already recorded - # an event. + # 'warden.auth.*' is our custom hash key that follows usual convention + # of naming keys in the Rack env hash. # - next if (auth.env['warden.auth.trackers'] ||= []).push(activity).many? + next if auth.env['warden.auth.user.blocked'] if user.blocked? activity.user_blocked! tracker.log_activity! end + + auth.env['warden.auth.user.blocked'] = true end end |