2013-10-16 43 views
0

我已經在我的VPS上安裝了用於MongoDB管理的Genghis Admin。我僅使用「gem install genghisapp」與「genghisapp -L」一起運行的應用程序。GenghisApp - 限制公衆訪問,並且只能作爲管理員訪問我

有什麼辦法可以限制來自公衆的訪問權限,並且只能訪問我作爲管理員?

現在,每個人都可以訪問我的genghisapp,但在我的服務器名稱旁邊顯示「Connection error:unauthorized」。

謝謝。

回答

0

您可以在另一個Rails應用程序中安裝Genghis應用程序,然後引導設計來爲您處理身份驗證。

mount Genghis::Server.new, :at => '/genghis' 
與設計

然後,做

authenticated :user do 
    mount Genghis::Server.new, :at => '/genghis' 
end 

...只有合法的用戶才能訪問 '/成吉思汗'。您可以實現一項功能,以記錄所有訪問此路線的用戶的詳細信息(活動跟蹤),並且如果您擔心任何經過身份驗證的用戶,還可以通過電子郵件接收每日摘要;那麼甚至可以在頂部添加授權 - 請參閱CanCan gem。

0

邁克爾的權利,如果你已經有一個你想要整合的Rails應用程序。它具有額外的好處,不需要單獨的進程來運行成吉思汗,因爲它被安裝在實際的Rails應用程序的路徑上。

如果沒有,你可以使用機架與基本身份驗證和一個超級簡單的配置:

require 'genghis' 
use Rack::Auth::Basic, 'Genghis' { |u, p| u == 'admin' && p == 'hunter2' } 
run Genghis::Server 

換出「管理員」和「獵頭」爲您首選的身份驗證,然後通過rackup而不是genghisapp -L運行。