Module: Padrino::Admin::Helpers::AuthenticationHelpers

### Home Classes Methods

### In Files

- lib/padrino-admin/helpers/authentication_helpers.rb

### Methods

- #allowed?
- #current_account
- #logged_in?
- #login_required
- #project_modules
- #redirect_back_or_default
- #set_current_account
- #store_location!

### Files

- README.rdoc

### Class/Module Index

Quicksearch

- Padrino
- Padrino::Admin
- Padrino::Admin::AccessControl
- Padrino::Admin::AccessControl::Authorization
- Padrino::Admin::AccessControl::Base
- Padrino::Admin::AccessControl::ProjectModule
- Padrino::Admin::AccessControlError
- Padrino::Admin::Generators
- Padrino::Admin::Generators::Orm
- Padrino::Admin::Generators::OrmError
- Padrino::Admin::Helpers
- Padrino::Admin::Helpers::AuthenticationHelpers
- Padrino::Admin::Helpers::ViewHelpers
- Padrino::Generators
- Padrino::Generators::Admin
- Padrino::Generators::Admin::Actions
- Padrino::Generators::AdminApp
- Padrino::Generators::AdminPage

No matching classes.

# Padrino::Admin::Helpers::AuthenticationHelpers

Common helpers used for authorization within an application.

### Public Instance Methods

allowed?() click to toggle source

Returns true if the `current_account` is allowed to see the requested path.

For configure this role please refer to: +Padrino::Admin::AccessControl::Base+

    # File lib/padrino-admin/helpers/authentication_helpers.rb, line 38
    def allowed?
      access_control.allowed?(current_account, request.path_info)
    end

current_account() click to toggle source

Returns the current_account, it's an instance of Account model.

    # File lib/padrino-admin/helpers/authentication_helpers.rb, line 18
    def current_account
      @current_account ||= login_from_session
    end

logged_in?() click to toggle source

Returns true if `current_account` is logged and active.

    # File lib/padrino-admin/helpers/authentication_helpers.rb, line 11
    def logged_in?
      !current_account.nil?
    end

login_required() click to toggle source

Returns a helper useful in a `before_filter` for check if an account are: `logged_in?` and `allowed?`

By default this method is used in Admin Apps.

    # File lib/padrino-admin/helpers/authentication_helpers.rb, line 55
    def login_required
      unless allowed?
        store_location! if store_location
        access_denied
      end
    end

project_modules() click to toggle source

Returns project modules for the current account.

    # File lib/padrino-admin/helpers/authentication_helpers.rb, line 45
    def project_modules
      access_control.project_modules(current_account)
    end

redirect_back_or_default(default) click to toggle source

Redirect the account to the page that requested an authentication or if the account is not allowed/logged return it to a default page.

    # File lib/padrino-admin/helpers/authentication_helpers.rb, line 73
    def redirect_back_or_default(default)
      return_to = session.delete(:return_to)
      redirect(return_to || default)
    end

set_current_account(account=nil) click to toggle source

Override the current_account, you must provide an instance of Account model.

@example

    set_current_account(Account.authenticate(params[:email], params[:password])

    # File lib/padrino-admin/helpers/authentication_helpers.rb, line 28
    def set_current_account(account=nil)
      session[settings.session_id] = account ? account.id : nil
      @current_account = account
    end

store_location!() click to toggle source

Store in session the env.

    # File lib/padrino-admin/helpers/authentication_helpers.rb, line 65
    def store_location!
      session[:return_to] = "#{ENV['RACK_BASE_URI']}#{env['REQUEST_URI']}" if env['REQUEST_URI']
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.