ruby-on-rails - rails 5 : Preventing access to/admin pages based on IP address

标签 ruby-on-rails ruby

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

知道我使用 activeadminpetergate 进行授权,我该如何实现这一目标?

最佳答案

您可以像这样创建一个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/

相关文章:

python - 如何打开(读写)或创建允许截断的文件?

ruby-on-rails - 无法为 Rails 应用部署配置 passenger 和 nginx

ruby - 如何检查文件夹内是否有多个单词

ruby - 为什么 ruby​​game 和 gosu 比纯 opengl 慢?

ruby-on-rails - Rails - Twitter::Error::BadRequest(错误的身份验证数据) - 部署到 Heroku 之后

ruby - 使用 Spotify 客户端 ID 和 secret 返回无效客户端的 Curl 发布请求

ruby-on-rails - Ruby 中的存储库或网关模式

ruby-on-rails - rails3 devise omniauth 推特配置

ruby-on-rails - 如何使用 thin 和 ssl 获得干净的输出?

ruby-on-rails - Rails 中的唯一 session ID