From aea3712e8dd71092847eeaec6f934a426d1becc0 Mon Sep 17 00:00:00 2001 From: Marin Jankovski Date: Mon, 7 Apr 2014 17:11:06 +0200 Subject: [PATCH] Add option for disable standard signin. --- CHANGELOG | 1 + app/views/devise/sessions/new.html.haml | 13 ++++++++++--- config/gitlab.yml.example | 6 +++++- config/initializers/1_settings.rb | 1 + 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index f0a72710a92..2718a5d268b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -11,6 +11,7 @@ v 6.8.0 - Fix popen bug in `rake gitlab:satellites:create` - Disable connection reaping for MySQL - Allow oauth signup without email for twitter and github + - Option to disable standard login v 6.7.3 - Fix the merge notification email not being sent (Pierre de La Morinerie) diff --git a/app/views/devise/sessions/new.html.haml b/app/views/devise/sessions/new.html.haml index bb87d9ecb4a..31221ae9c37 100644 --- a/app/views/devise/sessions/new.html.haml +++ b/app/views/devise/sessions/new.html.haml @@ -1,6 +1,6 @@ .login-box %h3.page-title Sign in - - if ldap_enabled? + - if ldap_enabled? && gitlab_config.signin_enabled %ul.nav.nav-tabs %li.active = link_to 'LDAP', '#tab-ldap', 'data-toggle' => 'tab' @@ -12,11 +12,18 @@ %div#tab-signin.tab-pane = render partial: 'devise/sessions/new_base' - - else + - elsif ldap_enabled? + = render partial: 'devise/sessions/new_ldap' + + - elsif gitlab_config.signin_enabled = render partial: 'devise/sessions/new_base' + - else + %div + No authentication methods configured. + - = render 'devise/sessions/oauth_providers' if devise_mapping.omniauthable? + = render 'devise/sessions/oauth_providers' if Gitlab.config.omniauth.enabled && devise_mapping.omniauthable? %hr - if gitlab_config.signup_enabled diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example index d9ac1c02ef5..3b1427cba70 100644 --- a/config/gitlab.yml.example +++ b/config/gitlab.yml.example @@ -54,8 +54,12 @@ production: &base ## Users management - # default: false - Account passwords are not sent via the email if signup is enabled. + # default: false - Account passwords are not sent via the email if signup is enabled. # signup_enabled: true + # + # default: true - If set to false, standard login form won't be shown on the sign-in page + # signin_enabled: false + # Restrict setting visibility levels for non-admin users. # The default is to allow all levels. diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb index 70ba26cea7a..ce672372a3d 100644 --- a/config/initializers/1_settings.rb +++ b/config/initializers/1_settings.rb @@ -87,6 +87,7 @@ def verify_constant(modul, current, default) '/home/' + Settings.gitlab['user'] end Settings.gitlab['signup_enabled'] ||= false +Settings.gitlab['signin_enabled'] ||= true if Settings.gitlab['signin_enabled'].nil? Settings.gitlab['restricted_visibility_levels'] = Settings.send(:verify_constant_array, Gitlab::VisibilityLevel, Settings.gitlab['restricted_visibility_levels'], []) Settings.gitlab['username_changing_enabled'] = true if Settings.gitlab['username_changing_enabled'].nil? Settings.gitlab['issue_closing_pattern'] = '([Cc]loses|[Ff]ixes) #(\d+)' if Settings.gitlab['issue_closing_pattern'].nil? -- GitLab