mic*_*cah 6 routes ruby-on-rails-3
我正在编写一个应用程序,其中几个路径只能从localhost访问.看起来这可以通过新的路由系统实现.
http://www.railsdispatch.com/posts/rails-3-makes-life-better
这有一些基于IP地址限制路由,并为您的路由设置IP地址黑名单的示例,但我对只有一个IP地址的白名单感兴趣.
如果像这样的东西工作会很酷:
get "/posts" => "posts#show", :constraints => {:ip => '127.0.0.1'}
Run Code Online (Sandbox Code Playgroud)
但事实并非如此.我只是错过了正确的语法吗?
小智 14
你可以这样做
get "/posts" => "posts#show", :constraints => {:ip => /127.0.0.1/}
Run Code Online (Sandbox Code Playgroud)
或这个
constraints(:ip => /127.0.0.1/) do
get "/posts" => "posts#show"
end
Run Code Online (Sandbox Code Playgroud)
按照 Yehuda 帖子中的示例,您应该创建一个适当的对象来处理复杂的约束。因此,只需编辑该示例即可有所帮助。有一行代码可以检查某个 ip 是否被列入黑名单:
!@ips.include?(request.remote_ip)
Run Code Online (Sandbox Code Playgroud)
您应该编写类似的逻辑(但更简单)来检查 request.remote_ip == 127.0.0.1
归档时间: |
|
查看次数: |
2071 次 |
最近记录: |