Sha256: a15f88a603a00e13c4133f0117e6aa124f28d5fa20ba415460a50c782669dfd5
Contents?: true
Size: 875 Bytes
Versions: 4
Compression:
Stored size: 875 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 administrator? session[:target_page] = request.url if session[:target_page].nil? redirect_to safe_root_url, alert: t('authentication.warning.restricted_access') end end def administrator? current_user && current_user.admin? end private def safe_root_url defined?(root_url) ? root_url : '/' end end end
Version data entries
4 entries across 4 versions & 1 rubygems