diff --git a/app/controllers/admin/application_settings_controller.rb b/app/controllers/admin/application_settings_controller.rb
index 5116f1f177a2422dd60d45a4763173b1a720fdcd..a937f484877532f4e919d0bbfa8fb52496088db1 100644
--- a/app/controllers/admin/application_settings_controller.rb
+++ b/app/controllers/admin/application_settings_controller.rb
@@ -26,6 +26,7 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController
       :signin_enabled,
       :gravatar_enabled,
       :sign_in_text,
+      :home_page_url
     )
   end
 end
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index b83de68c5d201c7ec93abfbba8e76c8f2119fae6..4780a7a2a9a1ec101742e532673740b2faa770d8 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -48,6 +48,17 @@ class ApplicationController < ActionController::Base
     end
   end
 
+  def authenticate_user!
+    # If user is not signe-in and tries to access root_path - redirect him to landing page
+    if current_application_settings.home_page_url.present?
+      if current_user.nil? && controller_name == 'dashboard' && action_name == 'show'
+        redirect_to current_application_settings.home_page_url and return
+      end
+    end
+
+    super
+  end
+
   def log_exception(exception)
     application_trace = ActionDispatch::ExceptionWrapper.new(env, exception).application_trace
     application_trace.map!{ |t| "  #{t}\n" }
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 67c02f5dfa441e4845c8f29de7161177907ad020..f65e04af205675605495b7659bfb90fb1462b99a 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -292,9 +292,4 @@ module ApplicationHelper
       profile_key_path(key)
     end
   end
-
-  def redirect_from_root?
-    request.env['rack.session']['user_return_to'] ==
-      '/'
-  end
 end
diff --git a/app/models/application_setting.rb b/app/models/application_setting.rb
index 47fa6f1071ca0ab5e5475f8abf9711105be9774b..d9c73559098b2046732014094e3ba6a086e7c686 100644
--- a/app/models/application_setting.rb
+++ b/app/models/application_setting.rb
@@ -1,4 +1,7 @@
 class ApplicationSetting < ActiveRecord::Base
+  validates :home_page_url, allow_blank: true,
+    format: { with: URI::regexp(%w(http https)), message: "should be a valid url" }
+
   def self.current
     ApplicationSetting.last
   end
diff --git a/app/views/admin/application_settings/_form.html.haml b/app/views/admin/application_settings/_form.html.haml
index 5ca9585e9a9be0bf2253393359d1f3498c63faf9..481e78823003f1495be4c24e1d74126460136d4c 100644
--- a/app/views/admin/application_settings/_form.html.haml
+++ b/app/views/admin/application_settings/_form.html.haml
@@ -25,6 +25,10 @@
       = f.label :default_projects_limit, class: 'control-label'
       .col-sm-10
         = f.number_field :default_projects_limit, class: 'form-control'
+    .form-group
+      = f.label :home_page_url, class: 'control-label'
+      .col-sm-10
+        = f.text_field :home_page_url, class: 'form-control', placeholder: 'http://company.example.com'
     .form-group
       = f.label :sign_in_text, class: 'control-label'
       .col-sm-10
diff --git a/app/views/layouts/devise.html.haml b/app/views/layouts/devise.html.haml
index 857ebd9b8d9870c713d0eb8f3de8e7876492f3a8..6f805f1c9d1ccba4d3c62dae35b7d0e9e9399abf 100644
--- a/app/views/layouts/devise.html.haml
+++ b/app/views/layouts/devise.html.haml
@@ -6,8 +6,7 @@
     = render "layouts/public_head_panel", title: ''
     .container.navless-container
       .content
-        - unless redirect_from_root?
-          = render "layouts/flash"
+        = render "layouts/flash"
         .row.prepend-top-20
           .col-sm-5.pull-right
             = yield
diff --git a/db/migrate/20150116234544_add_home_page_url_for_application_settings.rb b/db/migrate/20150116234544_add_home_page_url_for_application_settings.rb
new file mode 100644
index 0000000000000000000000000000000000000000..aa179ce3a4d29ec0ff236cb74a4c219afb47701e
--- /dev/null
+++ b/db/migrate/20150116234544_add_home_page_url_for_application_settings.rb
@@ -0,0 +1,5 @@
+class AddHomePageUrlForApplicationSettings < ActiveRecord::Migration
+  def change
+    add_column :application_settings, :home_page_url, :string
+  end
+end
diff --git a/db/schema.rb b/db/schema.rb
index dedfce4797b88dd7549b910ddbbc589b71d90e7b..96f66ac36344ac10295242d432fbde42f3cb41fc 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -11,7 +11,7 @@
 #
 # It's strongly recommended that you check this file into your version control system.
 
-ActiveRecord::Schema.define(version: 20150108073740) do
+ActiveRecord::Schema.define(version: 20150116234544) do
 
   # These are extensions that must be enabled in order to support this database
   enable_extension "plpgsql"
@@ -24,6 +24,7 @@ ActiveRecord::Schema.define(version: 20150108073740) do
     t.text     "sign_in_text"
     t.datetime "created_at"
     t.datetime "updated_at"
+    t.string   "home_page_url"
   end
 
   create_table "broadcast_messages", force: true do |t|
@@ -423,6 +424,7 @@ ActiveRecord::Schema.define(version: 20150108073740) do
     t.integer  "notification_level",       default: 1,     null: false
     t.datetime "password_expires_at"
     t.integer  "created_by_id"
+    t.datetime "last_credential_check_at"
     t.string   "avatar"
     t.string   "confirmation_token"
     t.datetime "confirmed_at"
@@ -430,7 +432,6 @@ ActiveRecord::Schema.define(version: 20150108073740) do
     t.string   "unconfirmed_email"
     t.boolean  "hide_no_ssh_key",          default: false
     t.string   "website_url",              default: "",    null: false
-    t.datetime "last_credential_check_at"
     t.string   "github_access_token"
   end