summaryrefslogtreecommitdiff
path: root/app/controllers/application_controller.rb
diff options
context:
space:
mode:
authorGabriel Mazetto <gabriel@gitlab.com>2015-12-18 18:29:13 -0200
committerGabriel Mazetto <gabriel@gitlab.com>2015-12-24 19:00:18 -0200
commit33964469b38e2b36b200b20fe3061371a5f5ab18 (patch)
tree72a4eaae98645d02803cd212d871dd22d9fca53d /app/controllers/application_controller.rb
parent7b25da74ea017814c3f420bd57470af483617d4f (diff)
downloadgitlab-ce-33964469b38e2b36b200b20fe3061371a5f5ab18.tar.gz
WIP require two factor authentication
Diffstat (limited to 'app/controllers/application_controller.rb')
-rw-r--r--app/controllers/application_controller.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index 01e2e7b2f98..e15d83631b3 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -13,6 +13,7 @@ class ApplicationController < ActionController::Base
before_action :validate_user_service_ticket!
before_action :reject_blocked!
before_action :check_password_expiration
+ before_action :check_tfa_requirement
before_action :ldap_security_check
before_action :default_headers
before_action :add_gon_variables
@@ -223,6 +224,13 @@ class ApplicationController < ActionController::Base
end
end
+ def check_tfa_requirement
+ if two_factor_authentication_required? && current_user && !current_user.two_factor_enabled
+ redirect_to new_profile_two_factor_auth_path,
+ alert: 'You must configure Two-Factor Authentication in your account'
+ end
+ end
+
def ldap_security_check
if current_user && current_user.requires_ldap_check?
unless Gitlab::LDAP::Access.allowed?(current_user)
@@ -357,6 +365,10 @@ class ApplicationController < ActionController::Base
current_application_settings.import_sources.include?('git')
end
+ def two_factor_authentication_required?
+ current_application_settings.require_two_factor_authentication
+ end
+
def redirect_to_home_page_url?
# If user is not signed-in and tries to access root_path - redirect him to landing page
# Don't redirect to the default URL to prevent endless redirections