2015-05-13 176 views
1

我想创建一个只能从特定网络连接访问的应用程序。更清楚的是,这将是一个出席申请。用户只能从特定的网络连接登入。如果他们连接到其他网络,他们将无法登入。 我如何在Ruby on Rails中执行此操作。请给我一些想法。其实我需要知道如何检测特定的网络连接?基于IP地址限制对Rails应用的访问

在此先感谢。

回答

1

在你ApplicationController补充一点:

before_filter :block_foreign_hosts 

def whitelisted?(ip) 
    return true if [123.43.65.1, 123.43.65.77].include?(ip) 
    false 
end 

def block_foreign_hosts 
    return false if whitelisted?(request.remote_ip) 
    redirect_to "https://www.google.com" unless request.remote_ip.start_with?("123.456.789") 
end 

,因为你必须更换IP网络我在这个例子中您要访问的一个使用。

+0

嗨davidb,谢谢你的回答。它解决了我的问题。现在还有一件事。如果我想创建一个我想要允许的IP地址的白名单,那我该怎么办? – Muktadir

+0

我在白名单中添加了白名单,因为您必须将白名单数组替换为[123.43.65.1,123.43.65.77]。 – davidb

+0

非常感谢。 :D我可以在数据库中存储白名单IP,并将其列入白名单?(ip)方法。我对吗? – Muktadir

相关问题