1
0
mirror of https://github.com/jcwimer/wrestlingApp synced 2026-03-25 17:30:49 +00:00
Files
wrestlingdev.com/app/controllers/application_controller.rb

44 lines
1.2 KiB
Ruby

class ApplicationController < ActionController::Base
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
protect_from_forgery prepend: true, with: :exception
after_action :set_csrf_cookie_for_ng
# Add helpers for authentication (replacing Devise)
helper_method :current_user, :user_signed_in?
def current_user
@current_user ||= User.find_by(id: session[:user_id]) if session[:user_id]
end
def user_signed_in?
current_user.present?
end
def authenticate_user!
redirect_to login_path, alert: "Please log in to access this page" unless user_signed_in?
end
def set_csrf_cookie_for_ng
cookies['XSRF-TOKEN'] = form_authenticity_token if protect_against_forgery?
end
rescue_from CanCan::AccessDenied do |exception|
redirect_to '/static_pages/not_allowed'
end
protected
# In Rails 4.2 and above
def verified_request?
super || valid_authenticity_token?(session, request.headers['X-XSRF-TOKEN'])
end
# Override current_ability to pass school_permission_key
# @school_permission_key needs to be defined on the controller
def current_ability
@current_ability ||= Ability.new(current_user, @school_permission_key)
end
end