Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2018-08-01 16:56:44 +0300
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2018-08-01 16:56:44 +0300
commit2b05562c5b3a092c94b54095c2daa76a764a0227 (patch)
tree0f2141560ddc869519ec4e56874fa1b244c9d103 /config
parent4bcf72e734fbafe99ec603d34819b8ab68bf390c (diff)
Simplify blocked user tracking during authentication
Diffstat (limited to 'config')
-rw-r--r--config/initializers/warden.rb18
1 files changed, 8 insertions, 10 deletions
diff --git a/config/initializers/warden.rb b/config/initializers/warden.rb
index 872e82c4df2..18ae10c865a 100644
--- a/config/initializers/warden.rb
+++ b/config/initializers/warden.rb
@@ -2,7 +2,7 @@ Rails.application.configure do |config|
Warden::Manager.after_set_user(scope: :user) do |user, auth, opts|
Gitlab::Auth::UniqueIpsLimiter.limit_user!(user)
- activity = Gitlab::Auth::Activity.new(user, opts)
+ activity = Gitlab::Auth::Activity.new(opts)
case opts[:event]
when :authentication
@@ -26,20 +26,18 @@ Rails.application.configure do |config|
end
Warden::Manager.before_failure(scope: :user) do |env, opts|
- tracker = Gitlab::Auth::BlockedUserTracker.new(env)
- tracker.log_blocked_user_activity! if tracker.user_blocked?
-
- Gitlab::Auth::Activity.new(tracker.user, opts).user_authentication_failed!
+ Gitlab::Auth::Activity.new(opts).user_authentication_failed!
end
- Warden::Manager.before_logout(scope: :user) do |user_warden, auth, opts|
- user = user_warden || auth.user
+ Warden::Manager.before_logout(scope: :user) do |user, auth, opts|
+ user ||= auth.user
- Gitlab::Auth::Activity.new(user, opts).tap do |activity|
- activity.user_blocked! if user.blocked?
- activity.user_session_destroyed!
+ if user.blocked?
+ Gitlab::Auth::Activity.new(opts).user_blocked!
+ BlockedUserTracker.new(user, auth).log_blocked_user_activity!
end
+ Gitlab::Auth::Activity.new(opts).user_session_destroyed!
ActiveSession.destroy(user, auth.request.session.id)
end
end