|
|
|
@@ -1,14 +1,16 @@ |
|
|
|
class ApplicationController < ActionController::API |
|
|
|
before_action :reject_banned_ip_address! |
|
|
|
before_action :authenticate_user |
|
|
|
before_action :reject_banned_user! |
|
|
|
|
|
|
|
def current_user |
|
|
|
@current_user |
|
|
|
end |
|
|
|
def current_user = @current_user |
|
|
|
|
|
|
|
private |
|
|
|
|
|
|
|
def authenticate_user |
|
|
|
code = request.headers['X-Transfer-Code'] || request.headers['HTTP_X_TRANSFER_CODE'] |
|
|
|
return if code.blank? |
|
|
|
|
|
|
|
@current_user = User.find_by(inheritance_code: code) |
|
|
|
end |
|
|
|
|
|
|
|
@@ -22,4 +24,17 @@ class ApplicationController < ActionController::API |
|
|
|
s.in?(['', '1', 'true', 'on', 'yes']) |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
def reject_banned_ip_address! |
|
|
|
ip_address = IpAddress.find_by(ip_address: IPAddr.new(request.remote_ip).hton) |
|
|
|
return unless ip_address&.banned? |
|
|
|
|
|
|
|
head :forbidden |
|
|
|
end |
|
|
|
|
|
|
|
def reject_banned_user! |
|
|
|
return unless current_user&.banned? |
|
|
|
|
|
|
|
head :forbidden |
|
|
|
end |
|
|
|
end |