Rails 5:防止基于IP地址访问/ admin页面

时间:2018-09-11 13:09:54

标签: ruby-on-rails ruby

我一直在构建Rails 5.2应用程序,到目前为止,我想将对/admin页的访问权限分开或限制为只能通过办公计算机(本地ips)访问。

知道如何使用activeadminpetergate进行授权,如何实现?

1 个答案:

答案 0 :(得分:4)

您可以这样创建before_action

class ApplicationController < ActionController::Base
  before_action :filter_ip_address

  protected

  def filter_ip_address
    current_ip_address = request.env['HTTP_X_REAL_IP']
    head :unauthorized unless current_ip_address == "XX.XX.XX.XX"
  end
end

给出的示例用于application_controller,但如果您不想在任何地方调用它,都可以将其放在任何需要的地方。

这是我在此处找到的示例的修改版本:https://coderwall.com/p/v980ha/restrict-ip-access-in-rails