# All Administrate controllers inherit from this `Admin::ApplicationController`,
# making it the ideal place to put authentication logic or other
# before_actions.
#
# If you want to add pagination or other controller-level concerns,
# you're free to overwrite the RESTful controller actions.
module Admin
  class ApplicationController < Administrate::ApplicationController
    if Rails.application.secrets.admin_username
      http_basic_authenticate_with(
        name: Rails.application.secrets.admin_username,
        password: Rails.application.secrets.admin_password
      )
    end

    # Override this value to specify the number of elements to display at a time
    # on index pages. Defaults to 20.
    # def records_per_page
    #   params[:per_page] || 20
    # end
  end
end

# All Administrate controllers inherit from this `Admin::ApplicationController`,
# making it the ideal place to put authentication logic or other
# before_actions.
#
# If you want to add pagination or other controller-level concerns,
# you're free to overwrite the RESTful controller actions.
module Admin
  class ApplicationController < Administrate::ApplicationController
    if Rails.env.production?
      http_basic_authenticate_with(
        name: Rails.application.credentials.admin_username,
        password: Rails.application.credentials.admin_password
      )
    end

    # Override this value to specify the number of elements to display at a time
    # on index pages. Defaults to 20.
    # def records_per_page
    #   params[:per_page] || 20
    # end
  end
end

Use encrypted credentials for authentication of the admin page
Use encrypted credentials for authentication of the admin page
