Sha256: 43b5580e99084fd1e2f10f8e4bffc049220c812696ade7567f0199f245539ac9

Contents?: true

Size: 735 Bytes

Versions: 1

Compression:

Stored size: 735 Bytes

Contents

module TkhAuthenticationActionControllerExtension
  def self.included(base)
    base.send(:include, InstanceMethods) 
  end

  module InstanceMethods
    def current_user
      @current_user ||= User.find_by_auth_token!(cookies[:auth_token]) if cookies[:auth_token]
    end

    def authenticate
      if current_user.nil?
        session[:target_page] = request.url
        redirect_to login_url, alert: t('authentication.warning.login_needed')
      end
    end
    
    def authenticate_with_admin
      unless current_user && current_user.admin?
        session[:target_page] = request.url if session[:target_page].nil?
        redirect_to root_url, alert: t('authentication.warning.restricted_access')
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
tkh_authentication-0.0.6 lib/tkh_authentication/tkh_authentication_action_controller_extension.rb