我在 ruby-1.8.7p352 上运行 rails 3.0.10。我安装了refinerycms 1.0.8 并试图阻止对除白名单之外的所有IP 的所有后端访问。我通过编辑我的 routes.rb 来做到这一点:
TestWhitelist::Application.routes.draw do
match "/refinery" => redirect( "/" ), :constraints => lambda{ |req| req.remote_ip != "127.0.0.1" }
end
如果我尝试从 127.0.0.1 以外的另一个 ip 访问 /refinery,这种方法效果很好。如果我尝试从 127.0.0.1 访问 /refinery,我会得到“无路由匹配 /refinery”。