Sha256: e735bbb822c447a3a71b1fb7c39bc7e5c8135269f7cf04b699811f50d2ff6f73
Contents?: true
Size: 811 Bytes
Versions: 14
Compression:
Stored size: 811 Bytes
Contents
require "godmin/authentication/sessions" require "godmin/authentication/user" module Godmin module Authentication extend ActiveSupport::Concern included do before_action :authenticate_admin_user helper_method :admin_user helper_method :admin_user_signed_in? end def authenticate_admin_user unless admin_user_signed_in? || controller_name == "sessions" redirect_to new_session_path, alert: "Authentication needed" end end def admin_user_class raise NotImplementedError, "Must define the admin user class" end def admin_user if session[:admin_user_id] @admin_user ||= admin_user_class.find_by(id: session[:admin_user_id]) end end def admin_user_signed_in? admin_user.present? end end end
Version data entries
14 entries across 14 versions & 1 rubygems