我一直在构建一个 Rails 5.2 应用程序,到目前为止,我想分离或限制对 /admin
页面的访问,使其只能通过办公室计算机(本地 ips)访问。
知道我使用 activeadmin
和 petergate
进行授权,我该如何实现这一目标?
最佳答案
您可以像这样创建一个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
关于ruby-on-rails - rails 5 : Preventing access to/admin pages based on IP address,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52276728/