2015-05-13 26 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