Class: Locomotive::Steam::Middlewares::PrivateAccess

Inherits:
ThreadSafe
  • Object
show all
Includes:
Concerns::Helpers
Defined in:
lib/locomotive/steam/middlewares/private_access.rb

Overview

Hide a site behind a password to prevent public access. If page with the “lock_screen” handle exists, then it will be used to display the login form. Otherwise, a very basic form will be displayed.

Constant Summary

Constants included from Concerns::Helpers

Concerns::Helpers::CACHE_HEADERS, Concerns::Helpers::HTML_CONTENT_TYPE, Concerns::Helpers::HTML_MIME_TYPES

Instance Attribute Summary

Attributes inherited from ThreadSafe

#env

Instance Method Summary collapse

Methods included from Concerns::Helpers

#html?, #inject_cookies, #json?, #log, #make_local_path, #modify_path, #mounted_on, #redirect_to, #render_response

Methods inherited from ThreadSafe

#call, #decorate_entry, #default_liquid_context, #default_locale, #liquid_assigns, #live_editing?, #locale, #locales, #merge_with_params, #next, #page, #params, #path, #repositories, #request, #services, #session, #site

Instance Method Details

#_callObject



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/locomotive/steam/middlewares/private_access.rb', line 13

def _call
  return if env['steam.private_access_disabled']

  if site.private_access
    log "Site with private access"

    if access_granted?
      store_password
    else
      render_lock_screen
    end
  end
end