【问题标题】:Rails 3 route contstraint, allow certain IP'sRails 3路由约束,允许某些IP
【发布时间】:2012-06-17 20:35:33
【问题描述】:

我的 Rails 应用程序的路由文件中有以下代码:

MyApp::Application.routes.draw do
constraints :ip => "123.123.123.123" do
    resources :sheets
    resources :consults
    resources :clinicals
    ...
 end
 end

这成功地将 123.123.123.123 IP 地址路由到约束块内的控制器。

将另一个 IP 地址添加到约束块的最佳方法是什么,以便我可以将两个或更多路由到同一个控制器?像下面这样简单地添加另一个似乎不起作用:

constraints :ip => "123.123.123.123, 232.232.232.232" do

任何指针将不胜感激!

【问题讨论】:

  • 你试过使用数组吗? ['123.123.123.123','232.323.23.232']。只是猜测。
  • 是的,这似乎也不起作用。 :(

标签: ruby-on-rails-3 routes ip constraints


【解决方案1】:

也许是这样的?

constraints :ip => IpsRouting.new

class IpsRouting
  def initialize
    @ips = ["123.123.123.123", "345.345.345.345"]
  end

  def matches?(request)
    return false if @ips.include?(request.remote_ip)
    true
  end
end

对这个答案也有同样的想法-> Rails 3 Routing Constraint and Regex

还有一个猜测……xD

【讨论】:

    猜你喜欢
    • 2012-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-29
    • 2013-09-25
    • 1970-01-01
    相关资源
    最近更新 更多