2015-10-19 78 views
0

我需要控制對整個Ruby on Rails應用程序的訪問,只允許一些選定的用戶在開發過程中查看它。輕鬆訪問Rails應用程序?

我沒有查看完整的身份驗證系統,但更簡單一些,我可以將電子郵件地址添加到受限用戶列表中,向其發送電子郵件並讓該用戶看到該應用程序,拒絕任何其他用戶用戶。

我試圖在Heroku中使用WWWhisper插件(該應用程序託管在那裏),因爲它正是我所需要的,但它似乎並不在美國以外。

我想我必須自己構建它,但之前我想確保沒有更簡單的解決方案。有任何想法嗎?提前致謝。

+0

無論如何,您可能希望爲普通用戶添加一個Auth系統,因此您現在可以添加它以限制對其他開發者的訪問。在很多方面,這實際上比自己寫一些簡單的東西容易得多,然後你就不需要將它丟棄並在以後更換。 –

+0

我們已經將應用程序的用戶類型用於標準身份驗證,但我需要限制對這些身份驗證頁面的訪問,以便只有我明確允許的人員才能訪問應用程序的註冊/登錄頁面。 – jbk

+0

啊。然後可能basicauth。 http://api.rubyonrails.org/classes/ActionController/HttpAuthentication/Basic.html –

回答

2

如果您的接入需求「已經得到了邀請電子郵件」,那麼我覺得你的最簡單的辦法是有這樣的事情

#in application.rb 

before_filter :require_invite 

protected 
    def require_invite 
    session[:invite_token] ||= params[:invite_token] 
    unless session[:invite_token] == "<SOME SECRET KEY STRING>" 
     redirect_to external_home_path and return 
    end 
    end 
end 

其中external_home_path是人們有的拿着頁面還沒收到邀請誰,其中說「對不起,你需要一個邀請令牌等等等等」。您需要將其添加到處理外部主頁的控制器,以避免循環重定向。

skip_before_filter :require_invite, :only => [:external_home] 

然後你只需要派人的一個鏈接邀請這樣

http://example.com?invite_token=<SOME SECRET KEY STRING> 

顯然,這不是很安全,但作爲「我都看見了電子郵件」的標準是一樣安全。

當你上線時,你可以帶上這個before_filter。

+0

非常感謝Max,非常感謝,我認爲您的答案現在是一個很好且簡單的解決方案。 – jbk

相關問題